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

ISpMMSysAudio

COM
IID15806f6e-1d70-4b48-98e6-3b1a007509ab継承元ISpAudio自前メソッド開始 vtbl26

メソッド 5

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

vtbl 26 HRESULT GetDeviceId(DWORD* puDeviceId)
puDeviceIdDWORD*inout現在のマルチメディアデバイスIDを受け取るポインタ。
vtbl 27 HRESULT SetDeviceId(DWORD uDeviceId)
uDeviceIdDWORDin使用するマルチメディアデバイスID。WAVE_MAPPERで既定デバイスを指定する。
vtbl 28 HRESULT GetMMHandle(void** pHandle)
pHandlevoid**inout基盤のwaveIn/waveOutハンドルを受け取るポインタ。
vtbl 29 HRESULT GetLineId(DWORD* puLineId)
puLineIdDWORD*inout現在のミキサーラインIDを受け取るポインタ。
vtbl 30 HRESULT SetLineId(DWORD uLineId)
uLineIdDWORDin使用するミキサーラインID。

HSP用 COM定義

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

出力引数:
#define global IID_ISpMMSysAudio "{15806F6E-1D70-4B48-98E6-3B1A007509AB}"
#usecom global ISpMMSysAudio IID_ISpMMSysAudio "{}"
#comfunc global ISpMMSysAudio_GetDeviceId  26 var
#comfunc global ISpMMSysAudio_SetDeviceId  27 int
#comfunc global ISpMMSysAudio_GetMMHandle  28 sptr
#comfunc global ISpMMSysAudio_GetLineId    29 var
#comfunc global ISpMMSysAudio_SetLineId    30 int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。