KeReadStateEvent 関数 (wdm.h)

KeReadStateEvent ルーチンは、イベント オブジェクトの現在の状態 (シグナル状態または非シグナル状態) を返します。

構文

LONG KeReadStateEvent(
  [in] PRKEVENT Event
);

パラメーター

[in] Event

呼び出し元がストレージを提供する初期化されたイベント オブジェクトへのポインター。

戻り値

イベント オブジェクトが現在シグナル状態に設定されている場合は、0 以外の値が返されます。 それ以外の場合、0 が返されます。

注釈

このルーチンは、イベントのシグナル状態をポーリングする効率的な方法を提供します。 KeReadStateEvent は、 イベントへのアクセスを同期せずにイベントの状態を読み取ります。 KeReadStateEvent によるイベント状態のアクセスは、イベント状態へのアクセスを同期するルーチン (KeSetEventKeWaitForSingleObject など) によって相互に排他的であると想定しないでください。

次の条件が満たされている場合は、DIRQL でドライバーの割り込みサービス ルーチンからイベントの状態を読み取ることもできます。ドライバーのイベント オブジェクトは常駐しており (おそらくデバイス拡張機能内)、イベントにアクセスするその他の関数は ISR とアクセスを同期します。

イベント オブジェクトの詳細については、「 イベント オブジェクト」を参照してください。

要件

   
サポートされている最小のクライアント Windows 2000 以降で使用できます。
対象プラットフォーム ユニバーサル
Header wdm.h (Ntddk.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL <= DISPATCH_LEVEL
DDI コンプライアンス規則 HwStorPortProhibitedDDIs(storport), IrqlKeDispatchLte(wdm)

こちらもご覧ください

KeClearEvent

KeInitializeEvent

KeResetEvent

KeSetEvent

KeWaitForSingleObject