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

IMDSPStorage2

COM
IID0a5e07a5-6454-4451-9c36-1c6ae7e2b1d6継承元IMDSPStorage自前メソッド開始 vtbl13

メソッド 4

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

vtbl 13 HRESULT GetStorage(LPWSTR pszStorageName, IMDSPStorage** ppStorage)
pszStorageNameLPWSTRin取得対象の子ストレージ名を示す文字列。
ppStorageIMDSPStorage**out該当するIMDSPStorageを受け取る出力。
vtbl 14 HRESULT CreateStorage2(DWORD dwAttributes, DWORD dwAttributesEx, WAVEFORMATEX* pAudioFormat, VIDEOINFOHEADER* pVideoFormat, LPWSTR pwszName, ULONGLONG qwFileSize, IMDSPStorage** ppNewStorage)
dwAttributesDWORDin新規ストレージの基本属性フラグを指定する。
dwAttributesExDWORDin新規ストレージの拡張属性フラグを指定する。
pAudioFormatWAVEFORMATEX*inoptional新規オブジェクトの音声フォーマットを指定するWAVEFORMATEX。NULL可。
pVideoFormatVIDEOINFOHEADER*inoptional新規オブジェクトの映像フォーマットを指定するVIDEOINFOHEADER。NULL可。
pwszNameLPWSTRin作成するストレージの名前を示す文字列。
qwFileSizeULONGLONGin作成するファイルの総サイズをバイト単位で指定する64ビット値。
ppNewStorageIMDSPStorage**out作成されたIMDSPStorageを受け取る出力。
vtbl 15 HRESULT SetAttributes2(DWORD dwAttributes, DWORD dwAttributesEx, WAVEFORMATEX* pAudioFormat, VIDEOINFOHEADER* pVideoFormat)
dwAttributesDWORDin設定する基本属性フラグを指定する。
dwAttributesExDWORDin設定する拡張属性フラグを指定する。
pAudioFormatWAVEFORMATEX*inoptional設定する音声フォーマットを指定するWAVEFORMATEX。NULL可。
pVideoFormatVIDEOINFOHEADER*inoptional設定する映像フォーマットを指定するVIDEOINFOHEADER。NULL可。
vtbl 16 HRESULT GetAttributes2(DWORD* pdwAttributes, DWORD* pdwAttributesEx, WAVEFORMATEX* pAudioFormat, VIDEOINFOHEADER* pVideoFormat)
pdwAttributesDWORD*out基本属性フラグを受け取る出力。
pdwAttributesExDWORD*out拡張属性フラグを受け取る出力。
pAudioFormatWAVEFORMATEX*inoutoptional音声フォーマットを受け取るWAVEFORMATEXの出力。NULL可。
pVideoFormatVIDEOINFOHEADER*inoutoptional映像フォーマットを受け取るVIDEOINFOHEADERの出力。NULL可。

HSP用 COM定義

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

出力引数:
#define global IID_IMDSPStorage2 "{0A5E07A5-6454-4451-9C36-1C6AE7E2B1D6}"
#usecom global IMDSPStorage2 IID_IMDSPStorage2 "{}"
#comfunc global IMDSPStorage2_GetStorage      13 wstr,sptr
#comfunc global IMDSPStorage2_CreateStorage2  14 int,int,var,var,wstr,int64,sptr
#comfunc global IMDSPStorage2_SetAttributes2  15 int,int,var,var
#comfunc global IMDSPStorage2_GetAttributes2  16 var,var,var,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。