次の方法で共有


StreamClassCallAtNewPriority 関数 (strmini.h)

StreamClassCallAtNewPriority ルーチンは、別の優先度で呼び出されるルーチンをスケジュールします。

構文

VOID STREAMAPI StreamClassCallAtNewPriority(
  [in, optional] PHW_STREAM_OBJECT    StreamObject,
  [in]           PVOID                HwDeviceExtension,
  [in]           STREAM_PRIORITY      Priority,
  [in]           PHW_PRIORITY_ROUTINE PriorityRoutine,
  [in]           PVOID                Context
);

パラメーター

[in, optional] StreamObject

ストリームを指定するHW_STREAM_OBJECT構造体へのポインターはルーチンに関連付けられます。ルーチンがデバイス全体に関連付けられている場合は NULL です。 ストリームごとに使用できるルーチンは 1 つだけで、デバイス用のルーチンは 1 つだけです。 このパラメーターは省略可能です。

[in] HwDeviceExtension

ミニドライバーのデバイス拡張機能へのポインター。 ミニドライバーは、StreamClassRegisterMinidriver を介して自身を登録するときに渡すHW_INITIALIZATION_DATA構造体内のこのバッファーのサイズを指定します。 その後、クラス ドライバーは、ミニドライバーに渡すHW_STREAM_REQUEST_BLOCK、HW_STREAM_OBJECTHW_TIME_CONTEXT、PORT_CONFIGURATION_INFORMATION構造体HwDeviceExtension メンバー内のバッファーにポインターを渡します。

[in] Priority

次の表に示す値のいずれかを指定します。

優先度 使用
ストリーム クラス ドライバーは、ミニドライバーの StrMiniXxx コールバックと同じ優先度でルーチンを呼び出します。 ミニドライバーの割り込みサービス ルーチンとルーチンを同期する必要がある場合を除き、この設定を使用しないでください。
Dispatch ストリーム クラス ドライバーは、DISPATCH_LEVELでルーチンを呼び出します。 ルーチンの完了にかかる時間が 1 ミリ秒未満の場合は、この優先順位を使用します。
ストリーム クラス ドライバーは、PASSIVE_LEVELでルーチンを呼び出します。 ルーチンの完了にかかる時間が 1 ミリ秒未満の場合は、この優先順位を使用します。
LowToHigh 低優先度で呼び出されたスレッドが高優先度に戻り、他のストリーム クラス ドライバー サービスを呼び出すことができるようにするために使用されます。

[in] PriorityRoutine

指定された優先度レベルで呼び出されるミニドライバー提供の StrMiniPriorityRoutine へのポインター。

[in] Context

PriorityRoutine に渡されるパラメーターを指定します。

戻り値

なし

必要条件

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