StorPortWaitForSingleObject 関数 (storport.h)
ミニポートは 、StorPortWaitForSingleObject 関数を 呼び出して、指定されたディスパッチャー オブジェクトがシグナル状態に設定されるか、必要に応じてタイムアウトになるまで、現在のスレッドを待機状態にすることができます。
構文
ULONG StorPortWaitForSingleObject(
PVOID HwDeviceExtension,
PVOID Object,
BOOLEAN Alertable,
PLARGE_INTEGER Timeout
);
パラメーター
HwDeviceExtension
記憶域ミニポートのデバイス拡張機能へのポインター。
Object
初期化されたディスパッチャー オブジェクト (イベント、ミューテックス、セマフォ、スレッド、またはタイマー) へのポインター。
Alertable
待機が警告可能な場合はブール値が TRUE、それ以外の場合は FALSE に設定されます。
Timeout
待機が完了する 100 ナノ秒単位の絶対時間または相対時間を指定するタイムアウト値へのポインター。
正の値は、1601 年 1 月 1 日を基準とした絶対時間を指定します。 負の値は、現在の時刻を基準とした間隔を指定します。 絶対有効期限は、システム時刻の変更を追跡します。相対有効期限は、システム時刻の変更の影響を受けません。
Timeout = 0 の場合、ルーチンは待機せずに を返します。 ミニポートが NULL ポインターを提供する場合、ディスパッチャー オブジェクトがシグナル状態に設定されるまで、ルーチンは無期限に待機します。 詳細については、「解説」を参照してください。
戻り値
StorPortSetEvent は、次のいずれかの状態コードを返します。
リターン コード | 説明 |
---|---|
STOR_STATUS_INVALID_PARAMETER | 1 つ以上のパラメーターが無効です。 |
STOR_STATUS_SUCCESS | ETW イベントが正常にログに記録されました。 |
STOR_STATUS_UNSUCCESSFUL | 操作が失敗しました。 |
注釈
詳細については、「 KeWaitForSingleObject 」を参照してください。
StorportWaitForSingleObject の呼び出し元は、IRQL <= DISPATCH_LEVELで実行されている必要があります。 ただし、 Timeout = NULL または Timeout != 0 の場合、呼び出し元は IRQL <= APC_LEVELおよび非固定スレッド コンテキストで実行されている必要があります。 ( Timeout != NULL および Timeout = 0 の場合、呼び出し元は IRQL <= DISPATCH_LEVELで実行されている必要があります)。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 10 バージョン 2004 |
Header | storport.h |