次の方法で共有


StreamClassQueryMasterClockSync 関数 (strmini.h)

ミニドライバーは StreamClassQueryMasterClockSync ルーチンを呼び出して、ストリームのマスター クロックに同期的にクエリを実行できます。

構文

VOID STREAMAPI StreamClassQueryMasterClockSync(
  [in]      HANDLE           MasterClockHandle,
  [in, out] PHW_TIME_CONTEXT TimeContext
);

パラメーター

[in] MasterClockHandle

クエリを実行するマスター クロックのハンドルを指定します。 クラス ドライバーは、ミニドライバーの StrMiniReceiveStreamControlPacket ルーチンにSRB_INDICATE_MASTER_CLOCK要求でこれを渡します。

[in, out] TimeContext

クラス ドライバーがマスター クロックの StrMiniClock ルーチンに渡すHW_TIME_CONTEXT構造体を指定します。 このルーチンを呼び出す前に、ミニドライバーは TimeContextHwDeviceExtensionHwStreamObject、および Function メンバーを入力する必要があります。 StreamClassQueryMasterClockSync は、Time メンバーと SystemTime メンバーを完了します。

戻り値

なし

解説

ルーチンは、DISPATCH_LEVEL以下で呼び出す必要があります。 呼び出し元が発生した IRQL で実行されている場合は、代わりに非同期バージョン StreamClassQueryMasterClock を使用する必要があります。

クラス ドライバーは、マスター クロックの StrMiniClock ルーチンを呼び出して、クロックのクエリを実行します。

まれに、グラフ マネージャーはマスター クロックを切り替えます。 クラス ドライバーは、新しいマスター クロックを処理する際に競合状態を公開します。 ミニドライバーがクラス ドライバーから新しいクロックを受信した直後にストリーム クラス マスター クロック ルーチンを呼び出すと、クラス ドライバーが予期しない結果を生成する可能性があります。

要件

要件
対象プラットフォーム デスクトップ
Header strmini.h (Strmini.h を含む)
Library Stream.lib
IRQL <=DISPATCH_LEVEL (「解説」セクションを参照)

こちらもご覧ください

HW_TIME_CONTEXT

StrMiniClock

StrMiniReceiveStreamControlPacket

StreamClassQueryMasterClock