次の方法で共有


KSPROPERTY_PIN_MODEDATAFORMATS

クライアントは、KSPROPERTY_PIN_MODEDATAFORMATS プロパティを使用して、ピン ファクトリによってインスタンス化されたピンのサポートされている各オーディオ信号処理モードでサポートされている形式のリストを取得します。

使用方法概要表

取得 設定 対象 プロパティ記述子の種類 プロパティ値の種類
はい いいえ フィルター KSP_PIN、その後にモード GUID が続く KSMULTIPLE_ITEM 構造体の後に KSDATAFORMAT 構造体のシーケンスが続く

備考

クライアントは、このプロパティを使用して、ピン ファクトリによってインスタンス化されたピンによって、特定のオーディオ信号処理モードでサポートされている形式のリストを取得します。

KSP_PIN の後にモード GUID を使用して、このプロパティを指定し、ここで、KSP_PIN メンバーとモード GUID は、形式のリストを返すピン ファクトリとモードを指定します。

KSPROPERTY_PIN_MODEDATAFORMATS は、サポートされている形式を KSMULTIPLE_ITEM 構造体として返します。ここで、構造体内の各項目は ULONGLONG であり、KSMULTIPLE_ITEM の先頭からの値に特定の KSDATAFORMAT 構造体へのオフセットを持ちます。

  • KSMULTIPLE_ITEM::Size 値には、KSMULTIPLE_ITEM のサイズと各 KSDATAFORMAT のサイズが格納されます。

  • KSMULTIPLE_ITEM::Count 値には、各 KSDATAFORMAT のインデックスの数が格納されます。

ほとんどの場合、返される KSDATAFORMAT 構造体は、実際にはサイズが一致する KSDATAFORMAT_WAVEFORMATEXTENSIBLE または KSDATAFORMAT_WAVEFORMATEX 構造体になります。

たとえば、2 つの形式をサポートするピン ファクトリの値は次のようになります。

{
    // Example Property Value Result, with 2 formats
    // When computing the FormatSize make sure to align the size to ULONGLONG
    // KSDATAFORMAT::Size is WDF_ALIGN_SIZE_UP(KsDataFormat->FormatSize, sizeof(ULONGLONG));
    // Size of the KSMULTIPLE_ITEM structure + Size of two ULONG offset values + Size of first format + Size of second format
    sizeof(KSMULTIPLE_ITEM) + sizeof(ULONG)*2 + (First KSDATAFORMAT::Size) + (Second KSDATAFORMAT::Size),
    // Number of formats being returned
    2,
    // Offset of the first format from the beginning of the Property Value
    2 * sizeof(ULONG),
    // Offset of the second format from the beginning of the Property Value
    2 * sizeof(ULONG) + (First KSDATAFORMAT::Size),
    // First format structure
    {(First KSDATAFORMAT)},
    // Second format structure
    {(Second KSDATAFORMAT)}
}

詳しくは、「拡張可能な Wave 形式の記述子」を参照してください。

サポートされているモード形式とバッファーの推奨事項

Windows 10 バージョン 2004 以降では、ドライバーがサポートされているオーディオ信号処理モード形式とバッファー サイズの制約を報告するための推奨されるアプローチとして、KSPROPERTY_PIN_MODEDATAFORMATSKSAUDIO_PACKETSIZE_CONSTRAINTS2 を使用することをお勧めします。 このアプローチを使用すると、Windows オーディオ システムは、エンドポイントでサポートされている形式とバッファー サイズを検出するために多数のストリームを作成しなくても、エンドポイント ストリーミング機能を効率的に取得できます。

要件

バージョン: Windows 10 バージョン 2004 以降で使用可能

ヘッダー: ks.h (Ks.hを含む)

関連項目

KSP_PIN

KSDATAFORMAT

KSAUDIO_PACKETSIZE_CONSTRAINTS2

KSDATAFORMAT_WAVEFORMATEX