次の方法で共有


KsRegisterCountedWorker 関数 (ks.h)

スレッドを使用するために登録しているクライアントを処理します。

構文

KSDDKAPI NTSTATUS KsRegisterCountedWorker(
  [in]  WORK_QUEUE_TYPE  WorkQueueType,
  [in]  PWORK_QUEUE_ITEM CountedWorkItem,
  [out] PKSWORKER        *Worker
);

パラメーター

[in] WorkQueueType

作業スレッドの優先度を格納します。 これは通常、CriticalWorkQueue、DelayedWorkQueue、HyperCriticalWorkQueue のいずれかです。

[in] CountedWorkItem

現在のカウント値に基づいて、必要に応じてキューに登録される作業キュー項目へのポインターが含まれます。

[out] Worker

作業項目をスケジュールするときに使用する必要がある不透明なコンテキストが含まれます。 キューの種類も含まれており、作業項目の完了を同期するために使用されます。

戻り値

ワーカーが初期化された場合STATUS_SUCCESSを返します。

注釈

これは、スレッドの使用が完了したときに、対応する KsUnregisterWorker と一致する必要があります。 この関数は KsRegisterWorker に似ていますが、常にキューに格納される作業項目を渡す機能が追加されています。 これは、キューに登録されている作業項目の数を最小限に抑え、複数の作業項目スレッドに対するアクセスをシリアル化するために必要な作業項目に必要な相互除外コードを減らすために、 KsIncrementCountedWorkerKsDecrementCountedWorker で使用されます。 ワーカー キューを使用して、他の作業項目をキューに入れることもできます。 これは、PASSIVE_LEVELでのみ呼び出されます。

要件

要件
対象プラットフォーム ユニバーサル
Header ks.h (Ks.h を含む)
Library Ks.lib