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 |