ホーム › Media.DeviceManager › IWMDMStorageControl
IWMDMStorageControl
COMメソッド 5
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT Insert(DWORD fuMode, LPWSTR pwszFile, IWMDMOperation* pOperation, IWMDMProgress* pProgress, IWMDMStorage** ppNewObject)
| fuMode | DWORD | in | 挿入(転送)動作を制御するフラグ。転送方向や処理方法を指定する。 |
| pwszFile | LPWSTR | inoptional | 転送元のローカルファイルパスを表すワイド文字列。 |
| pOperation | IWMDMOperation* | inoptional | 転送処理をカスタマイズするIWMDMOperation実装へのポインター。NULL可。 |
| pProgress | IWMDMProgress* | inoptional | 進捗通知を受け取るIWMDMProgress実装へのポインター。NULL可。 |
| ppNewObject | IWMDMStorage** | out | 作成された新規ストレージオブジェクトを受け取るIWMDMStorageへの出力ポインター。NULL可。 |
vtbl 4 HRESULT Delete(DWORD fuMode, IWMDMProgress* pProgress)
| fuMode | DWORD | in | 削除動作を制御するフラグ。 |
| pProgress | IWMDMProgress* | inoptional | 進捗通知を受け取るIWMDMProgress実装へのポインター。NULL可。 |
vtbl 5 HRESULT Rename(DWORD fuMode, LPWSTR pwszNewName, IWMDMProgress* pProgress)
| fuMode | DWORD | in | 名前変更動作を制御するフラグ。 |
| pwszNewName | LPWSTR | in | 設定する新しい名前を表すワイド文字列。 |
| pProgress | IWMDMProgress* | inoptional | 進捗通知を受け取るIWMDMProgress実装へのポインター。NULL可。 |
vtbl 6 HRESULT Read(DWORD fuMode, LPWSTR pwszFile, IWMDMProgress* pProgress, IWMDMOperation* pOperation)
| fuMode | DWORD | in | 読み取り(デバイスからの転送)動作を制御するフラグ。 |
| pwszFile | LPWSTR | inoptional | 読み取り先となるローカルファイルパスを表すワイド文字列。 |
| pProgress | IWMDMProgress* | inoptional | 進捗通知を受け取るIWMDMProgress実装へのポインター。NULL可。 |
| pOperation | IWMDMOperation* | inoptional | 読み取り処理をカスタマイズするIWMDMOperation実装へのポインター。NULL可。 |
vtbl 7 HRESULT Move(DWORD fuMode, IWMDMStorage* pTargetObject, IWMDMProgress* pProgress)
| fuMode | DWORD | in | 移動動作を制御するフラグ。 |
| pTargetObject | IWMDMStorage* | inoptional | 移動先となるストレージを表すIWMDMStorageへのポインター。 |
| pProgress | IWMDMProgress* | 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 指定が可能。