次の方法で共有


既定のクロック

カーネル ストリーミング ミニドライバーは、KsAllocateDefaultClockExを呼び出して、デフォルト クロック構造体を割り当てて初期化できます。 あるいは、非クロック メンバーのデフォルト パラメーターを持つ KsAllocateDefaultClockEx のラッパーであるKsAllocateDefaultClockを呼び出すことができます KsAllocateDefaultClockExを使用してデフォルト クロックを初期化した後、KsCreateDefaultClockを呼び出します。

デフォルト クロックはKSPROPSETID_Clockをサポートしており、フィルター ピンによって提示される他のクロックと同様にアクセスできます。 ただし、基礎となるデータ構造はフィルター ピンによって作成され、そのピンと作成されるクロックのインスタンスによって共有されます。 クロックは、現在の状態と共有構造内の他の要素を更新するためにピンに依存します。 デフォルト クロックは、通知要求とクロック クエリを処理します。

マスター クロックがこのクロックを提供するフィルター上のピンに割り当てられている場合、そのピンはこのクロックを所有します。 ピンは、他のクロック実装が割り当てられているかのように、クロック ファイル オブジェクトを参照する必要があります。 デフォルト クロックは、インスタンスの作成時にピンのファイル オブジェクトを参照しません。 代わりに、共通クロック構造体の初期割り当ておよぼクロックで開かれた各ファイル オブジェクトに基づいて、内部参照カウントが保持されます。 クロック構造は、クロックの所有者がクロック構造体を解放しても、すべてのファイル オブジェクトが閉じられるまで所定の位置に残ります。 ピンは、標準クロック インターフェイスを経由するのではなく、デフォルト クロック オブジェクトに直接アクセスできます。

ミニドライバーは、KSPROPERTY_CLOCK_FUNCTIONTABLEプロパティをサポートして、ユーザー モード クライアントに参照クロック時間をチェックするメカニズムを提供できます。 このプロパティは、これを可能にする関数ポインタを構造体に記入することで、正確なレート マッチングをサポートします。

また、ミニドライバーは、指定したピンでレートの 変更が許可されている場合、KSPROPERTY_STREAM_RATEプロパティをサポートします。

カーネル ストリーミング プロキシ インターフェイスを使用するアプリケーションは、IKsClockPropertySetインターフェイスのメソッドを呼び出して、レート マッチングのために他の場所で使用される物理クロックの時刻を取得および設定します。

関連情報については、 「品質管理」を参照してください。