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

ISpStreamFormatConverter

COM
IID678a932c-ea71-4446-9b41-78fda6280a29継承元ISpStreamFormat自前メソッド開始 vtbl15

メソッド 6

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

vtbl 15 HRESULT SetBaseStream(ISpStreamFormat* pStream, BOOL fSetFormatToBaseStreamFormat, BOOL fWriteToBaseStream)
pStreamISpStreamFormat*inoptional変換元となる基盤ストリームISpStreamFormatへのポインタ。
fSetFormatToBaseStreamFormatBOOLin変換後フォーマットを基盤ストリームに合わせるか。
fWriteToBaseStreamBOOLin基盤ストリームへ書き込みを行うか。
vtbl 16 HRESULT GetBaseStream(ISpStreamFormat** ppStream)
ppStreamISpStreamFormat**out基盤ストリームのISpStreamFormatを受け取るポインタ。
vtbl 17 HRESULT SetFormat(GUID* rguidFormatIdOfConvertedStream, WAVEFORMATEX* pWaveFormatExOfConvertedStream)
rguidFormatIdOfConvertedStreamGUID*in変換後ストリームのフォーマットを識別するGUID。
pWaveFormatExOfConvertedStreamWAVEFORMATEX*in変換後ストリームの波形フォーマット詳細を示すWAVEFORMATEX。
vtbl 18 HRESULT ResetSeekPosition()
vtbl 19 HRESULT ScaleConvertedToBaseOffset(ULONGLONG ullOffsetConvertedStream, ULONGLONG* pullOffsetBaseStream)
ullOffsetConvertedStreamULONGLONGin変換後ストリーム上のバイトオフセット。
pullOffsetBaseStreamULONGLONG*out対応する基盤ストリーム上のオフセットを受け取るポインタ。
vtbl 20 HRESULT ScaleBaseToConvertedOffset(ULONGLONG ullOffsetBaseStream, ULONGLONG* pullOffsetConvertedStream)
ullOffsetBaseStreamULONGLONGin基盤ストリーム上のバイトオフセット。
pullOffsetConvertedStreamULONGLONG*out対応する変換後ストリーム上のオフセットを受け取るポインタ。

HSP用 COM定義

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

出力引数:
#define global IID_ISpStreamFormatConverter "{678A932C-EA71-4446-9B41-78FDA6280A29}"
#usecom global ISpStreamFormatConverter IID_ISpStreamFormatConverter "{7013943A-E2EC-11D2-A086-00C04F8EF9B5}"
#comfunc global ISpStreamFormatConverter_SetBaseStream               15 sptr,int,int
#comfunc global ISpStreamFormatConverter_GetBaseStream               16 sptr
#comfunc global ISpStreamFormatConverter_SetFormat                   17 var,var
#comfunc global ISpStreamFormatConverter_ResetSeekPosition           18
#comfunc global ISpStreamFormatConverter_ScaleConvertedToBaseOffset  19 int64,var
#comfunc global ISpStreamFormatConverter_ScaleBaseToConvertedOffset  20 int64,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。