Функция StorPortWaitForSingleObject (storport.h)
Минипорт может вызывать функцию StorPortWaitForSingleObject, чтобы поместить текущий поток в состояние ожидания до тех пор, пока заданный объект диспетчера не будет задано сигнальное состояние или при необходимости истекает время ожидания.
Синтаксис
ULONG StorPortWaitForSingleObject(
PVOID HwDeviceExtension,
PVOID Object,
BOOLEAN Alertable,
PLARGE_INTEGER Timeout
);
Параметры
HwDeviceExtension
Указатель на расширение устройства мини-порта хранилища.
Object
Указатель на инициализированный объект диспетчера (событие, мьютекс, семафор, поток или таймер).
Alertable
Логическое значение имеет значение TRUE, если ожидание оповещается и false в противном случае.
Timeout
Указатель на значение времени ожидания, указывающее абсолютное или относительное время в 100-наносекундах единиц, в которых ожидается завершение ожидания.
Положительное значение указывает абсолютное время относительно 1 января 1601 года. Отрицательное значение указывает интервал относительно текущего времени. Абсолютное время истечения срока действия отслеживает любые изменения в системном времени; относительные сроки действия не влияют на изменения системного времени.
Если время ожидания = 0, подпрограмма возвращается без ожидания. Если минипорт предоставляет указатель NULL, подпрограмма ожидает неограниченное время, пока объект диспетчера не будет задано сигнальное состояние. Дополнительные сведения см. в следующем разделе "Примечания".
Возвращаемое значение
StorPortSetEvent возвращает код состояния, например один из следующих:
Возвращаемый код | Описание |
---|---|
STOR_STATUS_INVALID_PARAMETER | Один или несколько параметров недопустимы. |
STOR_STATUS_SUCCESS | Событие ETW успешно зарегистрировано. |
STOR_STATUS_UNSUCCESSFUL | Сбой операции. |
Замечания
Дополнительные сведения см. в KeWaitForSingleObject.
Вызывающие StorportWaitForSingleObject должны работать в IRQL <= DISPATCH_LEVEL. Однако если время ожидания = NULL или время ожидания != 0, вызывающий объект должен выполняться в IRQL <= APC_LEVEL и в контексте непарбитрного потока. (Если время ожидания != NULL и время ожидания = 0, вызывающий объект должен выполняться в IRQL <= DISPATCH_LEVEL.)
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 10 версии 2004 |
заголовка | storport.h |