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_MODEDATAFORMATS と KSAUDIO_PACKETSIZE_CONSTRAINTS2 を使用することをお勧めします。 このアプローチを使用すると、Windows オーディオ システムは、エンドポイントでサポートされている形式とバッファー サイズを検出するために多数のストリームを作成しなくても、エンドポイント ストリーミング機能を効率的に取得できます。
要件
バージョン: Windows 10 バージョン 2004 以降で使用可能
ヘッダー: ks.h (Ks.hを含む)