Win32 API 日本語リファレンス
ホームMedia.DeviceManager › IWMDMStorageControl

IWMDMStorageControl

COM
IID1dcb3a08-33ed-11d3-8470-00c04f79dbc0継承元IUnknown自前メソッド開始 vtbl3

メソッド 5

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

vtbl 3 HRESULT Insert(DWORD fuMode, LPWSTR pwszFile, IWMDMOperation* pOperation, IWMDMProgress* pProgress, IWMDMStorage** ppNewObject)
fuModeDWORDin挿入(転送)動作を制御するフラグ。転送方向や処理方法を指定する。
pwszFileLPWSTRinoptional転送元のローカルファイルパスを表すワイド文字列。
pOperationIWMDMOperation*inoptional転送処理をカスタマイズするIWMDMOperation実装へのポインター。NULL可。
pProgressIWMDMProgress*inoptional進捗通知を受け取るIWMDMProgress実装へのポインター。NULL可。
ppNewObjectIWMDMStorage**out作成された新規ストレージオブジェクトを受け取るIWMDMStorageへの出力ポインター。NULL可。
vtbl 4 HRESULT Delete(DWORD fuMode, IWMDMProgress* pProgress)
fuModeDWORDin削除動作を制御するフラグ。
pProgressIWMDMProgress*inoptional進捗通知を受け取るIWMDMProgress実装へのポインター。NULL可。
vtbl 5 HRESULT Rename(DWORD fuMode, LPWSTR pwszNewName, IWMDMProgress* pProgress)
fuModeDWORDin名前変更動作を制御するフラグ。
pwszNewNameLPWSTRin設定する新しい名前を表すワイド文字列。
pProgressIWMDMProgress*inoptional進捗通知を受け取るIWMDMProgress実装へのポインター。NULL可。
vtbl 6 HRESULT Read(DWORD fuMode, LPWSTR pwszFile, IWMDMProgress* pProgress, IWMDMOperation* pOperation)
fuModeDWORDin読み取り(デバイスからの転送)動作を制御するフラグ。
pwszFileLPWSTRinoptional読み取り先となるローカルファイルパスを表すワイド文字列。
pProgressIWMDMProgress*inoptional進捗通知を受け取るIWMDMProgress実装へのポインター。NULL可。
pOperationIWMDMOperation*inoptional読み取り処理をカスタマイズするIWMDMOperation実装へのポインター。NULL可。
vtbl 7 HRESULT Move(DWORD fuMode, IWMDMStorage* pTargetObject, IWMDMProgress* pProgress)
fuModeDWORDin移動動作を制御するフラグ。
pTargetObjectIWMDMStorage*inoptional移動先となるストレージを表すIWMDMStorageへのポインター。
pProgressIWMDMProgress*inoptional進捗通知を受け取るIWMDMProgress実装へのポインター。NULL可。

HSP用 COM定義

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

#define global IID_IWMDMStorageControl "{1DCB3A08-33ED-11D3-8470-00C04F79DBC0}"
#usecom global IWMDMStorageControl IID_IWMDMStorageControl "{}"
#comfunc global IWMDMStorageControl_Insert  3 int,wstr,sptr,sptr,sptr
#comfunc global IWMDMStorageControl_Delete  4 int,sptr
#comfunc global IWMDMStorageControl_Rename  5 int,wstr,sptr
#comfunc global IWMDMStorageControl_Read    6 int,wstr,sptr,sptr
#comfunc global IWMDMStorageControl_Move    7 int,sptr,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。