KeReadStateEvent 関数 (wdm.h)
KeReadStateEvent ルーチンは、イベント オブジェクトの現在の状態 (シグナル状態またはシグナルなし) を返します。
構文
LONG KeReadStateEvent(
[in] PRKEVENT Event
);
パラメーター
[in] Event
呼び出し元がストレージを提供する初期化されたイベント オブジェクトへのポインター。
戻り値
イベント オブジェクトが現在シグナル状態に設定されている場合は、0 以外の値が返されます。 それ以外の場合、0 が返されます。
注釈
このルーチンは、イベントのシグナル状態をポーリングする効率的な方法を提供します。 KeReadStateEvent は、 イベントへのアクセスを同期することなく、イベントの状態を読み取ります。 KeReadStateEvent によるイベント状態のアクセスは、KeSetEvent や KeWaitForSingleObject などのイベント状態へのアクセスを同期するルーチンによって相互に排他的であると想定しないでください。
また、DIRQL でドライバーの割り込みサービス ルーチンからイベントの状態を読み取ることもできます。次の条件が満たされている場合は、ドライバーのイベント オブジェクトが常駐 (おそらくデバイス拡張機能内) であり、イベントにアクセスするその他の関数は、そのアクセスを ISR と同期します。
イベント オブジェクトの詳細については、「 イベント オブジェクト」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 以降で使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | wdm.h (Ntddk.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |
DDI コンプライアンス規則 | HwStorPortProhibitedDDIs(storport), IrqlKeDispatchLte(wdm) |