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

IMFExtendedCameraIntrinsics

COM
IID687f6dac-6987-4750-a16a-734d1e7a10fe継承元IUnknown自前メソッド開始 vtbl3

メソッド 6

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

vtbl 3 HRESULT InitializeFromBuffer(BYTE* pbBuffer, DWORD dwBufferSize)
pbBufferBYTE*in内部パラメータをシリアライズしたバイト列の先頭を指すポインタ。
dwBufferSizeDWORDinpbBufferが指すバッファのサイズをバイト単位で指定する。
vtbl 4 HRESULT GetBufferSize(DWORD* pdwBufferSize)
pdwBufferSizeDWORD*outシリアライズに必要なバッファサイズをバイト単位で受け取る出力ポインタ。
vtbl 5 HRESULT SerializeToBuffer(BYTE* pbBuffer, DWORD* pdwBufferSize)
pbBufferBYTE*outシリアライズ結果を書き込むバイト列バッファ。呼び出し側が確保する。
pdwBufferSizeDWORD*inout入力時はバッファ容量、出力時は書き込みバイト数を受け取る入出力ポインタ。
vtbl 6 HRESULT GetIntrinsicModelCount(DWORD* pdwCount)
pdwCountDWORD*out保持する内部パラメータモデルの数を受け取る出力ポインタ。
vtbl 7 HRESULT GetIntrinsicModelByIndex(DWORD dwIndex, IMFExtendedCameraIntrinsicModel** ppIntrinsicModel)
dwIndexDWORDin取得する内部パラメータモデルの0始まりのインデックス。
ppIntrinsicModelIMFExtendedCameraIntrinsicModel**out指定モデルを受け取るIMFExtendedCameraIntrinsicModelの出力ポインタ。
vtbl 8 HRESULT AddIntrinsicModel(IMFExtendedCameraIntrinsicModel* pIntrinsicModel)
pIntrinsicModelIMFExtendedCameraIntrinsicModel*in追加する内部パラメータモデルを表すIMFExtendedCameraIntrinsicModelへのポインタ。

HSP用 COM定義

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

出力引数:
#define global IID_IMFExtendedCameraIntrinsics "{687F6DAC-6987-4750-A16A-734D1E7A10FE}"
#usecom global IMFExtendedCameraIntrinsics IID_IMFExtendedCameraIntrinsics "{}"
#comfunc global IMFExtendedCameraIntrinsics_InitializeFromBuffer      3 var,int
#comfunc global IMFExtendedCameraIntrinsics_GetBufferSize             4 var
#comfunc global IMFExtendedCameraIntrinsics_SerializeToBuffer         5 var,var
#comfunc global IMFExtendedCameraIntrinsics_GetIntrinsicModelCount    6 var
#comfunc global IMFExtendedCameraIntrinsics_GetIntrinsicModelByIndex  7 int,sptr
#comfunc global IMFExtendedCameraIntrinsics_AddIntrinsicModel         8 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。