Win32 API 日本語リファレンス
ホームDevices.PortableDevices › IPortableDeviceCapabilities

IPortableDeviceCapabilities

COM
IID2c8c6dbf-e3dc-4061-becc-8542e810d126継承元IUnknown自前メソッド開始 vtbl3

メソッド 11

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT GetSupportedCommands(IPortableDeviceKeyCollection** ppCommands)
ppCommandsIPortableDeviceKeyCollection**outデバイスがサポートするコマンドのキー集合を受け取る出力先。
vtbl 4 HRESULT GetCommandOptions(PROPERTYKEY* Command, IPortableDeviceValues** ppOptions)
CommandPROPERTYKEY*inオプションを照会するコマンドのキーを指すPROPERTYKEYへのポインタ。
ppOptionsIPortableDeviceValues**outそのコマンドのオプション情報を格納したIPortableDeviceValuesを受け取る出力先。
vtbl 5 HRESULT GetFunctionalCategories(IPortableDevicePropVariantCollection** ppCategories)
ppCategoriesIPortableDevicePropVariantCollection**outデバイスがサポートする機能カテゴリのGUID集合を受け取る出力先。
vtbl 6 HRESULT GetFunctionalObjects(GUID* Category, IPortableDevicePropVariantCollection** ppObjectIDs)
CategoryGUID*in機能オブジェクトを照会する機能カテゴリのGUIDへのポインタ。
ppObjectIDsIPortableDevicePropVariantCollection**out該当カテゴリの機能オブジェクトID集合を受け取る出力先。
vtbl 7 HRESULT GetSupportedContentTypes(GUID* Category, IPortableDevicePropVariantCollection** ppContentTypes)
CategoryGUID*inコンテンツ種別を照会する機能カテゴリのGUIDへのポインタ。
ppContentTypesIPortableDevicePropVariantCollection**outサポートするコンテンツ種別のGUID集合を受け取る出力先。
vtbl 8 HRESULT GetSupportedFormats(GUID* ContentType, IPortableDevicePropVariantCollection** ppFormats)
ContentTypeGUID*in形式を照会するコンテンツ種別のGUIDへのポインタ。
ppFormatsIPortableDevicePropVariantCollection**outサポートするファイル形式のGUID集合を受け取る出力先。
vtbl 9 HRESULT GetSupportedFormatProperties(GUID* Format, IPortableDeviceKeyCollection** ppKeys)
FormatGUID*inプロパティを照会するファイル形式のGUIDへのポインタ。
ppKeysIPortableDeviceKeyCollection**outその形式でサポートされるプロパティキー集合を受け取る出力先。
vtbl 10 HRESULT GetFixedPropertyAttributes(GUID* Format, PROPERTYKEY* Key, IPortableDeviceValues** ppAttributes)
FormatGUID*in対象とするファイル形式のGUIDへのポインタ。
KeyPROPERTYKEY*in属性を照会するプロパティのキーを指すPROPERTYKEYへのポインタ。
ppAttributesIPortableDeviceValues**outプロパティの固定属性を格納したIPortableDeviceValuesを受け取る出力先。
vtbl 11 HRESULT Cancel()
vtbl 12 HRESULT GetSupportedEvents(IPortableDevicePropVariantCollection** ppEvents)
ppEventsIPortableDevicePropVariantCollection**outデバイスがサポートするイベントのGUID集合を受け取る出力先。
vtbl 13 HRESULT GetEventOptions(GUID* Event, IPortableDeviceValues** ppOptions)
EventGUID*inオプションを照会するイベントのGUIDへのポインタ。
ppOptionsIPortableDeviceValues**outそのイベントのオプション情報を格納したIPortableDeviceValuesを受け取る出力先。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IPortableDeviceCapabilities "{2C8C6DBF-E3DC-4061-BECC-8542E810D126}"
#usecom global IPortableDeviceCapabilities IID_IPortableDeviceCapabilities "{}"
#comfunc global IPortableDeviceCapabilities_GetSupportedCommands          3 sptr
#comfunc global IPortableDeviceCapabilities_GetCommandOptions             4 var,sptr
#comfunc global IPortableDeviceCapabilities_GetFunctionalCategories       5 sptr
#comfunc global IPortableDeviceCapabilities_GetFunctionalObjects          6 var,sptr
#comfunc global IPortableDeviceCapabilities_GetSupportedContentTypes      7 var,sptr
#comfunc global IPortableDeviceCapabilities_GetSupportedFormats           8 var,sptr
#comfunc global IPortableDeviceCapabilities_GetSupportedFormatProperties  9 var,sptr
#comfunc global IPortableDeviceCapabilities_GetFixedPropertyAttributes    10 var,var,sptr
#comfunc global IPortableDeviceCapabilities_Cancel                        11
#comfunc global IPortableDeviceCapabilities_GetSupportedEvents            12 sptr
#comfunc global IPortableDeviceCapabilities_GetEventOptions               13 var,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。