Função StorPortWaitForSingleObject (storport.h)

Um miniporto pode chamar a função StorPortWaitForSingleObject para colocar o thread atual em um estado de espera até que o objeto dispatcher fornecido seja definido como estado sinalizado ou, opcionalmente, atingir o tempo limite.

Sintaxe

ULONG StorPortWaitForSingleObject(
  PVOID          HwDeviceExtension,
  PVOID          Object,
  BOOLEAN        Alertable,
  PLARGE_INTEGER Timeout
);

Parâmetros

HwDeviceExtension

Ponteiro para a extensão de dispositivo do miniporto de armazenamento.

Object

Ponteiro para o objeto dispatcher inicializado (evento, mutex, semáforo, thread ou temporizador).

Alertable

O valor booliano definirá TRUE se a espera for alertável e FALSE caso contrário.

Timeout

Ponteiro para o valor de tempo limite que especifica o tempo absoluto ou relativo, em unidades de 100 nanossegundos, em que a espera deve ser concluída.

Um valor positivo especifica uma hora absoluta em relação a 1º de janeiro de 1601. Um valor negativo especifica um intervalo relativo à hora atual. Os tempos de expiração absolutos acompanham as alterações na hora do sistema; os tempos de expiração relativos não são afetados pelas alterações de tempo do sistema.

Se Timeout = 0, a rotina retornará sem esperar. Se o miniporto fornecer um ponteiro NULL, a rotina aguardará indefinidamente até que o objeto dispatcher seja definido como o estado sinalizado. Para obter mais informações, consulte a seção Comentários a seguir.

Retornar valor

StorPortSetEvent retorna um código status, como um dos seguintes:

Código de retorno Descrição
STOR_STATUS_INVALID_PARAMETER Um ou mais dos parâmetros são inválidos.
STOR_STATUS_SUCCESS O evento ETW foi registrado com êxito.
STOR_STATUS_UNSUCCESSFUL Falha na operação.

Comentários

Consulte KeWaitForSingleObject para obter mais detalhes.

Os chamadores de StorportWaitForSingleObject devem estar em execução em IRQL <= DISPATCH_LEVEL. No entanto, se Timeout = NULL ou Timeout != 0, o chamador deverá estar em execução em IRQL <= APC_LEVEL e em um contexto de thread nonarbitrary. (Se Timeout != NULL e Timeout = 0, o chamador deverá estar em execução em IRQL <= DISPATCH_LEVEL.)

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 10, versão 2004
Cabeçalho storport.h

Confira também

KeWaitForSingleObject

StorportInitializeEvent

StorportSetEvent