ホーム › Devices.PortableDevices › IPortableDeviceContent
IPortableDeviceContent
COMメソッド 10
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT EnumObjects(DWORD dwFlags, LPWSTR pszParentObjectID, IPortableDeviceValues* pFilter, IEnumPortableDeviceObjectIDs** ppEnum)
| dwFlags | DWORD | in | 列挙動作を制御するフラグ。通常は0を指定する。 |
| pszParentObjectID | LPWSTR | in | 列挙の起点となる親オブジェクトのID文字列。 |
| pFilter | IPortableDeviceValues* | in | 列挙対象を絞り込むフィルター条件を格納したIPortableDeviceValues。NULL可。 |
| ppEnum | IEnumPortableDeviceObjectIDs** | out | 子オブジェクトID列挙子IEnumPortableDeviceObjectIDsを受け取る出力先。 |
vtbl 4 HRESULT Properties(IPortableDeviceProperties** ppProperties)
| ppProperties | IPortableDeviceProperties** | out | オブジェクトのプロパティ操作用IPortableDevicePropertiesを受け取る出力先。 |
vtbl 5 HRESULT Transfer(IPortableDeviceResources** ppResources)
| ppResources | IPortableDeviceResources** | out | リソースデータ転送用IPortableDeviceResourcesを受け取る出力先。 |
vtbl 6 HRESULT CreateObjectWithPropertiesOnly(IPortableDeviceValues* pValues, LPWSTR* ppszObjectID)
| pValues | IPortableDeviceValues* | in | 新規オブジェクトのプロパティ群を格納したIPortableDeviceValues。 |
| ppszObjectID | LPWSTR* | inout | 生成されたオブジェクトのID文字列を受け取る出力先。 |
vtbl 7 HRESULT CreateObjectWithPropertiesAndData(IPortableDeviceValues* pValues, IStream** ppData, DWORD* pdwOptimalWriteBufferSize, LPWSTR* ppszCookie)
| pValues | IPortableDeviceValues* | in | 新規オブジェクトのプロパティ群を格納したIPortableDeviceValues。 |
| ppData | IStream** | out | データ書き込み用のIStreamを受け取る出力先。 |
| pdwOptimalWriteBufferSize | DWORD* | inout | 書き込みに最適なバッファサイズ(バイト)を受け取る出力先。 |
| ppszCookie | LPWSTR* | inout | 操作完了処理に用いるクッキー文字列を受け取る出力先。NULL可。 |
vtbl 8 HRESULT Delete(DWORD dwOptions, IPortableDevicePropVariantCollection* pObjectIDs, IPortableDevicePropVariantCollection** ppResults)
| dwOptions | DWORD | in | 削除オプションを示すフラグ(PORTABLE_DEVICE_DELETE_NO_RECURSION等)。 |
| pObjectIDs | IPortableDevicePropVariantCollection* | in | 削除対象オブジェクトIDを格納したIPortableDevicePropVariantCollection。 |
| ppResults | IPortableDevicePropVariantCollection** | inout | 各オブジェクトの削除結果(HRESULT)を格納したコレクションを受け取る出力先。 |
vtbl 9 HRESULT GetObjectIDsFromPersistentUniqueIDs(IPortableDevicePropVariantCollection* pPersistentUniqueIDs, IPortableDevicePropVariantCollection** ppObjectIDs)
| pPersistentUniqueIDs | IPortableDevicePropVariantCollection* | in | 変換元の永続的一意IDを格納したIPortableDevicePropVariantCollection。 |
| ppObjectIDs | IPortableDevicePropVariantCollection** | out | 対応するオブジェクトIDを格納したコレクションを受け取る出力先。 |
vtbl 10 HRESULT Cancel()
vtbl 11 HRESULT Move(IPortableDevicePropVariantCollection* pObjectIDs, LPWSTR pszDestinationFolderObjectID, IPortableDevicePropVariantCollection** ppResults)
| pObjectIDs | IPortableDevicePropVariantCollection* | in | 移動対象オブジェクトIDを格納したIPortableDevicePropVariantCollection。 |
| pszDestinationFolderObjectID | LPWSTR | in | 移動先フォルダーのオブジェクトID文字列。 |
| ppResults | IPortableDevicePropVariantCollection** | inout | 各オブジェクトの移動結果(HRESULT)を格納したコレクションを受け取る出力先。 |
vtbl 12 HRESULT Copy(IPortableDevicePropVariantCollection* pObjectIDs, LPWSTR pszDestinationFolderObjectID, IPortableDevicePropVariantCollection** ppResults)
| pObjectIDs | IPortableDevicePropVariantCollection* | in | 複製対象オブジェクトIDを格納したIPortableDevicePropVariantCollection。 |
| pszDestinationFolderObjectID | LPWSTR | in | 複製先フォルダーのオブジェクトID文字列。 |
| ppResults | IPortableDevicePropVariantCollection** | 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 指定が可能。#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,sptr #comfunc global IPortableDeviceContent_CreateObjectWithPropertiesAndData 7 sptr,sptr,sptr,sptr #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が無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。