次の方法で共有


KSPROPERTY_JACK_DESCRIPTION3

KSPROPERTY_JACK_DESCRIPTION3 プロパティは、フィルター ハンドルを使用してアクセスされるピンごとのプロパティとして実装されます。

バージョン 22H2 以降の Windows オペレーティング システムでは、関連付けられている KSJACK_DESCRIPTION3 構造を使用して、ジャックの現在の構成を指定および変更できます。

使用状況の概要テーブル

取得 オン ターゲット プロパティ記述子の種類 プロパティ値の型

イエス

いいえ

工場をピン留めする (フィルター ハンドルを介して)

KSP_PIN

KSMULTIPLE_ITEM の後に KSJACK_DESCRIPTION3 構造体の配列が続く

プロパティ値 (インスタンス データ) はKSMULTIPLE_ITEMで、その後にKSJACK_DESCRIPTION3構造体の配列が続きます。

戻り値

KSPROPERTY_JACK_DESCRIPTION3 プロパティ要求は、KSMULTIPLE_ITEMの後に N 個のKSJACK_DESCRIPTION3構造体の 配列を返 します。N は、指定したブリッジ ピンに関連付けられているジャックの数です。 次の一覧は、プロパティ要求によって返される項目を示しています。

KSMULTIPLE_ITEM。Size = sizeof(KSMULTIPLE_ITEM) + N * sizeof(KSJACK_DESCRIPTION3)

KSMULTIPLE_ITEM。Count = N

KSJACK_DESCRIPTION3[0]

...

KSJACK_DESCRIPTION3[N-1]

注釈

KSJACK_DESCRIPTION3とKSPROPERTY_JACK_DESCRIPTION3を使用したオーディオ デバイスの変更の伝達

Windows オーディオ システムは、オーディオ エンドポイントの作成時にオーディオ デバイスの機能をキャッシュします。 これらのキャッシュされた値は、HW オーディオ エンジンの存在、形式のサポート、コンテナー ID、バッファー サイズの特性などの機能を対象とします。これらのキャッシュされた値は、Windows インストールの有効期間中保持されます。 これらは、オーディオ ドライバーが更新されたとき、または OS のアップグレード中にのみ更新されます。

KSJACK_DESCRIPTION3では、Windows オーディオ システムは、すべてのキャッシュされた値の破棄と更新を要求するオーディオ ドライバーのメカニズムを提供します。 要求は、リソース制約などのオーディオ デバイス機能の変更によってトリガーできます。

ドライバーが実行時にKSJACK_DESCRIPTION3の内容を変更するたびに、ドライバーは既存の KSEVENT_PINCAPS_JACKINFOCHANGE イベントをトリガーします。

Windows オーディオ システムは、オーディオ エンドポイントにキャッシュされた最後に報告された ConfigId 値を保持します。 ConfigId 値は、KSEVENT_PINCAPS_JACKINFOCHANGE イベントに応答して取得されます。また、システム起動時のオーディオ エンドポイントの通常の処理中、Audio Endpoint Builder サービスの再起動、オーディオ ドライバーの更新、またはエンドポイントのインターフェイスの状態の変化が発生します。

取得した ConfigId 値が以前に格納された値と異なる場合、Windows オーディオ システムは、以前にキャッシュされたすべてのエンドポイント機能を破棄して更新します。

推奨される使用方法は、 ConfigId (ビットマスクまたは列挙型) 値によって制御されるドライバー内で複数のオーディオ エンドポイント構成を定義することです。 たとえば、 ConfigId が 1 の場合、オーディオ エンジン ノードが存在することを示しているのに対し、 ConfigId 2 はオーディオ エンジン ノードを報告しません。 ドライバーで使用されている ConfigId は、KSPROPERTY_JACK_DESCRIPTION3を介して Windows オーディオ システムと共有され、Windows オーディオ システムによってキャッシュされた機能とエンドポイントを同期するように動作します。

ConfigId の値は Windows に対して不透明です。 オーディオ ドライバーは、上で推奨されているように、ビットマスクまたは列挙型の代わりに実行時に選択されたタイムスタンプまたはインクリメント値を使用できます。 この方法は、エンドポイントの機能が変更されていない場合でも、起動時またはインターフェイスの変更時に不要なエンドポイントの更新が発生し、最後に格納された ConfigId 値を新しく報告された値に同期する可能性があるため、推奨されません。 この方法では、ドライバーと Windows の同期が切れる可能性が高くなり、オーディオ再生エラーが発生する可能性もあります。

ConfigId の変更時にエンドポイントでキャッシュされた値を更新するために使用されるメカニズムは、オペレーティング システムのアップグレードとドライバーの更新に使用されるメカニズムと同じです。 別の ID を持つ新しいエンドポイントが作成されます。このエンドポイントには、エンドポイントの新しい ConfigId 設定に一致する更新されたキャッシュ値が含まれ、ユーザー設定が古いエンドポイントから新しいエンドポイントにコピーされ、最後に古いエンドポイントが削除されます。 OS アップグレードのオーディオ エンドポイント移行プロセスの詳細については、「 オペレーティング システムのアップグレード」を参照してください。

要求事項

サポートされる最小クライアント

バージョン 22H2 以降の Windows オペレーティング システムで使用できます。

ヘッダ

Ksmedia.h

関連項目

KSJACK_DESCRIPTION3

KSMULTIPLE_ITEM

オペレーティング システムのアップグレード