StorPortCreateSystemThread 関数 (storport.h)
StorPortCreateSystemThread は、システム スレッドを作成し、スレッドのコンテキストへのポインターを提供します。
構文
ULONG StorPortCreateSystemThread(
[in] PVOID HwDeviceExtension,
[in] PSTOR_THREAD_START_ROUTINE StartRoutine,
[in/optional] PVOID StartContext,
[in/optional] PSTOR_THREAD_PRIORITY Priority,
[out/optional] PVOID *ThreadContext
);
パラメーター
[in] HwDeviceExtension
ミニポートのハードウェア デバイス拡張機能へのポインター。
[in] StartRoutine
新しく作成されたシステム スレッドのエントリ ポイントへのポインター。 このパラメーターは、StartContext パラメーター値である 1 つの引数を受け取るSTOR_THREAD_START_ROUTINE コールバックへの関数ポインターです。
[in/optional] StartContext
実行の開始時にスレッドに渡される 1 つの引数へのポインター。
[in/optional] Priority
スレッドの優先度を指定する STOR_THREAD_PRIORITY 列挙値へのポインター。
[out/optional] ThreadContext
スレッド コンテキストを受け取る変数へのポインター。
戻り値
StorPortCreateSystemThread は、次のいずれかの値を返します。
リターン コード | 説明 |
---|---|
STOR_STATUS_SUCCESS | システム スレッドが正常に作成されました。 |
STOR_STATUS_INVALID_PARAMETER | 指定されたパラメーターの 1 つ以上が無効です。 |
STOR_STATUS_UNSUCCESSFUL | その他の内部システム上の理由で返されます。 |
注釈
デバイス専用スレッドを作成するミニポート ドライバーは、 StorPortCreateSystemThread を呼び出します。初期化時、または I/O 要求がドライバーの ディスパッチ ルーチンに入り始めたときに呼び出されます。 たとえば、ドライバーは、非同期デバイス制御要求を受信したときに、このようなスレッドを作成する場合があります。
システムがシャットダウンされるか、 StorPortTerminateSystemThread を呼び出してスレッドが終了するまで、スレッドは引き続き実行されます。
スレッドの優先度は、 StorPortSetPriorityThread を呼び出すことによって変更できます。 ミニポートは、実行時の優先度の反転を回避するスレッド優先度の値を指定する必要があります。 詳細については、「 デバイス専用スレッド 」を参照してください。
特定のアダプターの場合、ミニポートが作成できる最大システム スレッドは、システム内の最大論理プロセッサ数です。
要件
要件 | 値 |
---|---|
サポートされている最小のサーバー | Windows Server 2022 |
Header | storport.h |