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および非固定スレッド コンテキストで実行されている必要があります。 (タイムアウト != NULL、タイムアウト = 0 の場合、呼び出し元は IRQL <= DISPATCH_LEVEL で実行されている必要があります)。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 10 バージョン 2004 |
ヘッダー | storport.h |
関連項目
StorportInitializeEventの
StorportSetEventの