次の方法で共有


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

こちらもご覧ください

STOR_THREAD_PRIORITY

STOR_THREAD_START_ROUTINE

StorPortSetPriorityThread

StorPortTerminateSystemThread