Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Um miniporto pode chamar função StorPortWaitForSingleObject para colocar o thread atual em um estado de espera até que o objeto dispatcher fornecido esteja 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 do 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 um tempo absoluto 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 Tempo Limite = 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.
Valor de retorno
StorPortSetEvent retorna um código de 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. |
Observações
Consulte KeWaitForSingleObject para obter mais detalhes.
Os chamadores de StorportWaitForSingleObject devem estar em execução no IRQL <= DISPATCH_LEVEL. No entanto, se Timeout = NULL ou Timeout != 0, o chamador deverá estar em execução no IRQL <= APC_LEVEL e em um contexto de thread não secundário. (Se Timeout != NULL e Timeout = 0, o chamador deverá estar em execução no IRQL <= DISPATCH_LEVEL.)
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 10, versão 2004 |
cabeçalho | storport.h |