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

IPortableDevicePropertiesBulk

COM
IID482b05c0-4056-44ed-9e0f-5e23b009da93継承元IUnknown自前メソッド開始 vtbl3

メソッド 5

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

vtbl 3 HRESULT QueueGetValuesByObjectList(IPortableDevicePropVariantCollection* pObjectIDs, IPortableDeviceKeyCollection* pKeys, IPortableDevicePropertiesBulkCallback* pCallback, GUID* pContext)
pObjectIDsIPortableDevicePropVariantCollection*in値を一括取得する対象オブジェクトID集合。
pKeysIPortableDeviceKeyCollection*in取得するプロパティキー集合。NULLで全プロパティ。
pCallbackIPortableDevicePropertiesBulkCallback*in進捗・完了通知を受け取るIPortableDevicePropertiesBulkCallback。
pContextGUID*outこの操作を識別するコンテキストGUIDを受け取る出力先。
vtbl 4 HRESULT QueueGetValuesByObjectFormat(GUID* pguidObjectFormat, LPWSTR pszParentObjectID, DWORD dwDepth, IPortableDeviceKeyCollection* pKeys, IPortableDevicePropertiesBulkCallback* pCallback, GUID* pContext)
pguidObjectFormatGUID*in取得対象を絞り込むオブジェクト形式のGUIDへのポインタ。
pszParentObjectIDLPWSTRin走査の起点となる親オブジェクトのID文字列。
dwDepthDWORDin走査する階層の深さ。
pKeysIPortableDeviceKeyCollection*in取得するプロパティキー集合。NULLで全プロパティ。
pCallbackIPortableDevicePropertiesBulkCallback*in進捗・完了通知を受け取るIPortableDevicePropertiesBulkCallback。
pContextGUID*outこの操作を識別するコンテキストGUIDを受け取る出力先。
vtbl 5 HRESULT QueueSetValuesByObjectList(IPortableDeviceValuesCollection* pObjectValues, IPortableDevicePropertiesBulkCallback* pCallback, GUID* pContext)
pObjectValuesIPortableDeviceValuesCollection*inオブジェクトごとの設定値を格納したIPortableDeviceValuesCollection。
pCallbackIPortableDevicePropertiesBulkCallback*in進捗・完了通知を受け取るIPortableDevicePropertiesBulkCallback。
pContextGUID*outこの操作を識別するコンテキストGUIDを受け取る出力先。
vtbl 6 HRESULT Start(GUID* pContext)
pContextGUID*in開始するキュー操作を識別するコンテキストGUIDへのポインタ。
vtbl 7 HRESULT Cancel(GUID* pContext)
pContextGUID*in中止するキュー操作を識別するコンテキストGUIDへのポインタ。

HSP用 COM定義

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

出力引数:
#define global IID_IPortableDevicePropertiesBulk "{482B05C0-4056-44ED-9E0F-5E23B009DA93}"
#usecom global IPortableDevicePropertiesBulk IID_IPortableDevicePropertiesBulk "{}"
#comfunc global IPortableDevicePropertiesBulk_QueueGetValuesByObjectList    3 sptr,sptr,sptr,var
#comfunc global IPortableDevicePropertiesBulk_QueueGetValuesByObjectFormat  4 var,wstr,int,sptr,sptr,var
#comfunc global IPortableDevicePropertiesBulk_QueueSetValuesByObjectList    5 sptr,sptr,var
#comfunc global IPortableDevicePropertiesBulk_Start                         6 var
#comfunc global IPortableDevicePropertiesBulk_Cancel                        7 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。