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

IWMDMStorage3

COM
IID97717eea-926a-464e-96a4-247b0216026e継承元IWMDMStorage2自前メソッド開始 vtbl15

メソッド 4

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

vtbl 15 HRESULT GetMetadata(IWMDMMetaData** ppMetadata)
ppMetadataIWMDMMetaData**outこのストレージのメタデータを表すIWMDMMetaDataを受け取る出力ポインター。
vtbl 16 HRESULT SetMetadata(IWMDMMetaData* pMetadata)
pMetadataIWMDMMetaData*inoptionalストレージに設定するメタデータを保持するIWMDMMetaDataへのポインター。
vtbl 17 HRESULT CreateEmptyMetadataObject(IWMDMMetaData** ppMetadata)
ppMetadataIWMDMMetaData**out新規に生成された空のIWMDMMetaDataを受け取る出力ポインター。
vtbl 18 HRESULT SetEnumPreference(WMDM_STORAGE_ENUM_MODE* pMode, DWORD nViews, WMDMMetadataView* pViews)
pModeWMDM_STORAGE_ENUM_MODE*inout列挙モードを指定するWMDM_STORAGE_ENUM_MODEへのポインター。
nViewsDWORDinpViews配列に含まれるビュー定義の数を示すDWORD値。
pViewsWMDMMetadataView*inoptional列挙対象を絞り込むメタデータビュー定義を格納したWMDMMetadataView配列へのポインター。

HSP用 COM定義

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

出力引数:
#define global IID_IWMDMStorage3 "{97717EEA-926A-464E-96A4-247B0216026E}"
#usecom global IWMDMStorage3 IID_IWMDMStorage3 "{807B3CE0-357A-11D3-8471-00C04F79DBC0}"
#comfunc global IWMDMStorage3_GetMetadata                15 sptr
#comfunc global IWMDMStorage3_SetMetadata                16 sptr
#comfunc global IWMDMStorage3_CreateEmptyMetadataObject  17 sptr
#comfunc global IWMDMStorage3_SetEnumPreference          18 var,int,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。