IAudioProcessingObject::IsInputFormatSupported メソッド (audioenginebaseapo.h)
このメソッドは、Windows Vista オーディオ エンジンとネゴシエートして、オーディオ データのストリームのデータ形式を確立します。
構文
HRESULT IsInputFormatSupported(
[in, optional] IAudioMediaType *pOppositeFormat,
[in, optional] IAudioMediaType *pRequestedInputFormat,
[out, optional] IAudioMediaType **ppSupportedInputFormat
);
パラメーター
[in, optional] pOppositeFormat
IAudioMediaType インターフェイスへのポインター。 このパラメーターは、データの出力形式を示すために使用されます。 出力形式が任意の型であることを示すには、pOppositeFormat の値を NULL に設定する必要があります。
[in, optional] pRequestedInputFormat
IAudioMediaType インターフェイスへのポインター。 このパラメーターは、検証する入力形式を示すために使用されます。
[out, optional] ppSupportedInputFormat
このパラメーターは、検証する形式に最も近いサポートされている形式を示します。
戻り値
呼び出しが正常に完了した場合、ppSupportedInputFormat パラメーターは pRequestedInputFormat ポインターを返し、IsInputFormatSupported メソッドは S_OK の値を返します。 それ以外の場合、このメソッドは次のいずれかのエラー コードを返します。
リターン コード | 説明 |
---|---|
|
入出力フォーマット・ペアのフォーマットはサポートされていません。 ppSupportedInputFormat は、推奨される新しい形式を返します。 |
|
検証する形式はサポートされていません。 ppSupportedInputFormat の値は変更されません。 |
|
メソッドに渡される無効なポインター。 ppSupportedInputFormat の値は変更されません。 |
|
これらの追加のエラー条件は、オーディオ エンジンによって追跡されます。 |
注釈
メソッドの実装 IsInputFormatSupported
には、さまざまな API によって違いがあります。 たとえば、特定の実装では、入力形式が整数型の場合にのみ、出力を float 型にすることができます。
フォーマット ネゴシエーションを開始するために、オーディオ サービスは最初に LFX sAPO の出力を既定の float32 ベースの形式に設定します。 その後、オーディオ サービスは LFX sAPO のメソッドを呼び出 IAudioProcessingObject::IsInputFormatSupported
し、既定の形式を提案し、このメソッドの HRESULT 応答を監視します。 LFX sAPO の入力が推奨形式をサポートできる場合は、サポートされている形式への参照と共に、S_OKが返されます。 LFX sAPO の入力で推奨形式をサポートできない場合は、提案された形式に最も近い形式への参照と共にS_FALSEが返されます。 LFX sAPO が推奨形式をサポートできず、一致するものがない場合は、APOERR_FORMAT_NOT_SUPPORTEDを返します。 GFX sAPO は、LFX sAPO の出力形式で動作します。 そのため、GFX sAPO はフォーマット ネゴシエーション プロセスには関与しません。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista 以降の Windows オペレーティング システムで使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | audioenginebaseapo.h |
Library | Audioenginebaseapo.idl |
IRQL | すべてのレベル |