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 の値を返します。 それ以外の場合、このメソッドは次のいずれかのエラー コードを返します。

リターン コード 説明
S_FALSE
入出力フォーマット・ペアのフォーマットはサポートされていません。 ppSupportedInputFormat は、推奨される新しい形式を返します。
APOERR_FORMAT_NOT_SUPPORTED
検証する形式はサポートされていません。 ppSupportedInputFormat の値は変更されません。
E_POINTER
メソッドに渡される無効なポインター。 ppSupportedInputFormat の値は変更されません。
その他の HRESULT 値
これらの追加のエラー条件は、オーディオ エンジンによって追跡されます。

注釈

メソッドの実装 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 すべてのレベル