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

IPortableDeviceContent

COM
IID6a96ed84-7c73-4480-9938-bf5af477d426継承元IUnknown自前メソッド開始 vtbl3

メソッド 10

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

vtbl 3 HRESULT EnumObjects(DWORD dwFlags, LPWSTR pszParentObjectID, IPortableDeviceValues* pFilter, IEnumPortableDeviceObjectIDs** ppEnum)
dwFlagsDWORDin列挙動作を制御するフラグ。通常は0を指定する。
pszParentObjectIDLPWSTRin列挙の起点となる親オブジェクトのID文字列。
pFilterIPortableDeviceValues*in列挙対象を絞り込むフィルター条件を格納したIPortableDeviceValues。NULL可。
ppEnumIEnumPortableDeviceObjectIDs**out子オブジェクトID列挙子IEnumPortableDeviceObjectIDsを受け取る出力先。
vtbl 4 HRESULT Properties(IPortableDeviceProperties** ppProperties)
ppPropertiesIPortableDeviceProperties**outオブジェクトのプロパティ操作用IPortableDevicePropertiesを受け取る出力先。
vtbl 5 HRESULT Transfer(IPortableDeviceResources** ppResources)
ppResourcesIPortableDeviceResources**outリソースデータ転送用IPortableDeviceResourcesを受け取る出力先。
vtbl 6 HRESULT CreateObjectWithPropertiesOnly(IPortableDeviceValues* pValues, LPWSTR* ppszObjectID)
pValuesIPortableDeviceValues*in新規オブジェクトのプロパティ群を格納したIPortableDeviceValues。
ppszObjectIDLPWSTR*inout生成されたオブジェクトのID文字列を受け取る出力先。
vtbl 7 HRESULT CreateObjectWithPropertiesAndData(IPortableDeviceValues* pValues, IStream** ppData, DWORD* pdwOptimalWriteBufferSize, LPWSTR* ppszCookie)
pValuesIPortableDeviceValues*in新規オブジェクトのプロパティ群を格納したIPortableDeviceValues。
ppDataIStream**outデータ書き込み用のIStreamを受け取る出力先。
pdwOptimalWriteBufferSizeDWORD*inout書き込みに最適なバッファサイズ(バイト)を受け取る出力先。
ppszCookieLPWSTR*inout操作完了処理に用いるクッキー文字列を受け取る出力先。NULL可。
vtbl 8 HRESULT Delete(DWORD dwOptions, IPortableDevicePropVariantCollection* pObjectIDs, IPortableDevicePropVariantCollection** ppResults)
dwOptionsDWORDin削除オプションを示すフラグ(PORTABLE_DEVICE_DELETE_NO_RECURSION等)。
pObjectIDsIPortableDevicePropVariantCollection*in削除対象オブジェクトIDを格納したIPortableDevicePropVariantCollection。
ppResultsIPortableDevicePropVariantCollection**inout各オブジェクトの削除結果(HRESULT)を格納したコレクションを受け取る出力先。
vtbl 9 HRESULT GetObjectIDsFromPersistentUniqueIDs(IPortableDevicePropVariantCollection* pPersistentUniqueIDs, IPortableDevicePropVariantCollection** ppObjectIDs)
pPersistentUniqueIDsIPortableDevicePropVariantCollection*in変換元の永続的一意IDを格納したIPortableDevicePropVariantCollection。
ppObjectIDsIPortableDevicePropVariantCollection**out対応するオブジェクトIDを格納したコレクションを受け取る出力先。
vtbl 10 HRESULT Cancel()
vtbl 11 HRESULT Move(IPortableDevicePropVariantCollection* pObjectIDs, LPWSTR pszDestinationFolderObjectID, IPortableDevicePropVariantCollection** ppResults)
pObjectIDsIPortableDevicePropVariantCollection*in移動対象オブジェクトIDを格納したIPortableDevicePropVariantCollection。
pszDestinationFolderObjectIDLPWSTRin移動先フォルダーのオブジェクトID文字列。
ppResultsIPortableDevicePropVariantCollection**inout各オブジェクトの移動結果(HRESULT)を格納したコレクションを受け取る出力先。
vtbl 12 HRESULT Copy(IPortableDevicePropVariantCollection* pObjectIDs, LPWSTR pszDestinationFolderObjectID, IPortableDevicePropVariantCollection** ppResults)
pObjectIDsIPortableDevicePropVariantCollection*in複製対象オブジェクトIDを格納したIPortableDevicePropVariantCollection。
pszDestinationFolderObjectIDLPWSTRin複製先フォルダーのオブジェクトID文字列。
ppResultsIPortableDevicePropVariantCollection**inout各オブジェクトの複製結果(HRESULT)を格納したコレクションを受け取る出力先。

HSP用 COM定義

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

出力引数:
#define global IID_IPortableDeviceContent "{6A96ED84-7C73-4480-9938-BF5AF477D426}"
#usecom global IPortableDeviceContent IID_IPortableDeviceContent "{}"
#comfunc global IPortableDeviceContent_EnumObjects                          3 int,wstr,sptr,sptr
#comfunc global IPortableDeviceContent_Properties                           4 sptr
#comfunc global IPortableDeviceContent_Transfer                             5 sptr
#comfunc global IPortableDeviceContent_CreateObjectWithPropertiesOnly       6 sptr,var
#comfunc global IPortableDeviceContent_CreateObjectWithPropertiesAndData    7 sptr,sptr,var,var
#comfunc global IPortableDeviceContent_Delete                               8 int,sptr,sptr
#comfunc global IPortableDeviceContent_GetObjectIDsFromPersistentUniqueIDs  9 sptr,sptr
#comfunc global IPortableDeviceContent_Cancel                               10
#comfunc global IPortableDeviceContent_Move                                 11 sptr,wstr,sptr
#comfunc global IPortableDeviceContent_Copy                                 12 sptr,wstr,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。