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

IPortableDeviceProperties

COM
IID7f6d695c-03df-4439-a809-59266beee3a6継承元IUnknown自前メソッド開始 vtbl3

メソッド 6

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

vtbl 3 HRESULT GetSupportedProperties(LPWSTR pszObjectID, IPortableDeviceKeyCollection** ppKeys)
pszObjectIDLPWSTRin対象オブジェクトのID文字列。
ppKeysIPortableDeviceKeyCollection**outそのオブジェクトがサポートするプロパティキー集合を受け取る出力先。
vtbl 4 HRESULT GetPropertyAttributes(LPWSTR pszObjectID, PROPERTYKEY* Key, IPortableDeviceValues** ppAttributes)
pszObjectIDLPWSTRin対象オブジェクトのID文字列。
KeyPROPERTYKEY*in属性を取得するプロパティのキーを指すPROPERTYKEYへのポインタ。
ppAttributesIPortableDeviceValues**outプロパティの属性(読み書き可否・型等)を格納したIPortableDeviceValuesを受け取る出力先。
vtbl 5 HRESULT GetValues(LPWSTR pszObjectID, IPortableDeviceKeyCollection* pKeys, IPortableDeviceValues** ppValues)
pszObjectIDLPWSTRin対象オブジェクトのID文字列。
pKeysIPortableDeviceKeyCollection*in取得するプロパティキー集合。NULLで全プロパティ取得。
ppValuesIPortableDeviceValues**out取得したプロパティ値群を格納したIPortableDeviceValuesを受け取る出力先。
vtbl 6 HRESULT SetValues(LPWSTR pszObjectID, IPortableDeviceValues* pValues, IPortableDeviceValues** ppResults)
pszObjectIDLPWSTRin対象オブジェクトのID文字列。
pValuesIPortableDeviceValues*in設定するプロパティ値群を格納したIPortableDeviceValues。
ppResultsIPortableDeviceValues**out各プロパティの設定結果(HRESULT)を格納したIPortableDeviceValuesを受け取る出力先。
vtbl 7 HRESULT Delete(LPWSTR pszObjectID, IPortableDeviceKeyCollection* pKeys)
pszObjectIDLPWSTRin対象オブジェクトのID文字列。
pKeysIPortableDeviceKeyCollection*in削除するプロパティのキー集合。
vtbl 8 HRESULT Cancel()

HSP用 COM定義

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

出力引数:
#define global IID_IPortableDeviceProperties "{7F6D695C-03DF-4439-A809-59266BEEE3A6}"
#usecom global IPortableDeviceProperties IID_IPortableDeviceProperties "{}"
#comfunc global IPortableDeviceProperties_GetSupportedProperties  3 wstr,sptr
#comfunc global IPortableDeviceProperties_GetPropertyAttributes   4 wstr,var,sptr
#comfunc global IPortableDeviceProperties_GetValues               5 wstr,sptr,sptr
#comfunc global IPortableDeviceProperties_SetValues               6 wstr,sptr,sptr
#comfunc global IPortableDeviceProperties_Delete                  7 wstr,sptr
#comfunc global IPortableDeviceProperties_Cancel                  8
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。