Win32 API 日本語リファレンス
ホームMedia.Audio.Endpoints › IHardwareAudioEngineBase

IHardwareAudioEngineBase

COM
IIDeddce3e4-f3c1-453a-b461-223563cbd886継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

IHardwareAudioEngineBase インターフェースは、オーディオスタックがハードウェアオーディオエンジンの構成や情報取得を行うために、オーディオエンドポイントによって実装されます。

メソッド 5

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

vtbl 3 HRESULT GetAvailableOffloadConnectorCount(LPWSTR _pwstrDeviceId, DWORD _uConnectorId, DWORD* _pAvailableConnectorInstanceCount)

GetAvailableOffloadConnectorCount メソッドは、ハードウェアオーディオエンジン上でオフロードされたストリームを処理できる、利用可能なエンドポイントの数を取得します。

_pwstrDeviceIdLPWSTRinハードウェアオーディオエンジンデバイスのデバイス ID へのポインター。
_uConnectorIdDWORDinエンドポイントコネクタの識別子。
_pAvailableConnectorInstanceCountDWORD*outオフロードされたオーディオストリームを処理できる、利用可能なエンドポイントコネクタの数へのポインター。

戻り値

GetAvailableOffloadConnectorCount メソッドは、正常に完了した場合は S_OK を返します。それ以外の場合は適切なエラーコードを返します。

vtbl 4 HRESULT GetEngineFormat(IMMDevice* pDevice, BOOL _bRequestDeviceFormat, WAVEFORMATEX** _ppwfxFormat)

GetEngineFormat メソッドは、オフロードされたオーディオストリームの現在のデータ形式を取得します。

pDeviceIMMDevice*inIMMDevice インターフェースへのポインター。
_bRequestDeviceFormatBOOLinデバイス形式を取得するために IMMDevice インターフェースにアクセスしているかどうかを示すブール変数。
_ppwfxFormatWAVEFORMATEX**inoutハードウェアオーディオエンジンに関する情報を提供する WAVEFORMATEX 構造体へのポインターのポインター。この情報には、波形オーディオ形式の種類、オーディオチャネル数、オーディオエンジンのサンプルレートが含まれます。

戻り値

GetEngineFormat メソッドは、正常に完了した場合は S_OK を返します。それ以外の場合は適切なエラーコードを返します。

vtbl 5 HRESULT SetEngineDeviceFormat(IMMDevice* pDevice, WAVEFORMATEX* _pwfxFormat)

SetEngineDeviceFormat メソッドは、ハードウェアオーディオエンジンの波形オーディオ形式を設定します。

pDeviceIMMDevice*inIMMDevice インターフェースへのポインター。
_pwfxFormatWAVEFORMATEX*inoutハードウェアオーディオエンジンに関する情報を提供する WAVEFORMATEX 構造体へのポインター。

戻り値

SetEngineDeviceFormat メソッドは、正常に完了した場合は S_OK を返します。それ以外の場合は適切なエラーコードを返します。

vtbl 6 HRESULT SetGfxState(IMMDevice* pDevice, BOOL _bEnable)

SetGfxState メソッドは、オフロードされたオーディオストリームの GFX 状態を設定します。

pDeviceIMMDevice*inIMMDevice インターフェースへのポインター。
_bEnableBOOLinブール変数へのポインター。

戻り値

SetGfxState メソッドは、正常に完了した場合は S_OK を返します。それ以外の場合は適切なエラーコードを返します。

vtbl 7 HRESULT GetGfxState(IMMDevice* pDevice, BOOL* _pbEnable)

GetGfxState メソッドは、オフロードされたオーディオストリームの GFX 状態を取得します。

pDeviceIMMDevice*inIMMDevice インターフェースへのポインター。
_pbEnableBOOL*outブール変数へのポインター。

戻り値

GetGfxState メソッドは、正常に完了した場合は S_OK を返します。それ以外の場合は適切なエラーコードを返します。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

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

出力引数:
#define global IID_IHardwareAudioEngineBase "{EDDCE3E4-F3C1-453A-B461-223563CBD886}"
#usecom global IHardwareAudioEngineBase IID_IHardwareAudioEngineBase "{}"
#comfunc global IHardwareAudioEngineBase_GetAvailableOffloadConnectorCount  3 wstr,int,var
#comfunc global IHardwareAudioEngineBase_GetEngineFormat                    4 sptr,int,var
#comfunc global IHardwareAudioEngineBase_SetEngineDeviceFormat              5 sptr,var
#comfunc global IHardwareAudioEngineBase_SetGfxState                        6 sptr,int
#comfunc global IHardwareAudioEngineBase_GetGfxState                        7 sptr,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。