Método IWDFIoRequest2::GetStatus (wudfddi.h)
[Aviso: UMDF 2 é a versão mais recente do UMDF e substitui UMDF 1. Todos os novos drivers UMDF devem ser gravados usando UMDF 2. Nenhum novo recurso está sendo adicionado ao UMDF 1 e há suporte limitado para UMDF 1 em versões mais recentes do Windows 10. Os drivers universais do Windows devem usar o UMDF 2. Para obter mais informações, consulte Introdução com UMDF.]
O método GetStatus retorna o status de uma solicitação de E/S.
Sintaxe
HRESULT GetStatus();
Retornar valor
GetStatus retorna um valor de status do tipo HRESULT, Esse valor indica o status atual da solicitação de E/S que a interface IWDFIoRequest2 representa.
Comentários
Um driver pode chamar GetStatus depois de chamar IWDFIoRequest::Send para enviar uma solicitação de E/S para um destino de E/S.
-
Se a chamada de um driver para Enviar for bem-sucedida, GetStatus retornará o valor status definido pelo driver que conclui a solicitação especificada.
Se o driver especificar WDF_REQUEST_SEND_OPTION_SYNCHRONOUS para uma solicitação ao chamar Enviar, o driver poderá chamar GetStatus (ou IWDFIoRequest::GetCompletionParams) imediatamente após chamar Send.
Se o driver não especificar WDF_REQUEST_SEND_OPTION_SYNCHRONOUS quando chama Enviar, o driver normalmente chama GetStatus (ou IWDFIoRequest::GetCompletionParams) de dentro de uma função de retorno de chamada IRequestCallbackRequestCompletion::OnCompletion .
- Se a chamada de um driver para Enviar falhar, Enviar retornará um valor status que a estrutura definiu para descrever a falha. O driver pode chamar GetStatus (mas nãoIWDFIoRequest::GetCompletionParams) para obter o status atual da solicitação, mas nesse caso GetStatus retorna o mesmo código de falha retornado por Send.
Exemplos
O exemplo de código a seguir envia uma solicitação de E/S para um destino de E/S. Se a chamada para Enviar for bem-sucedida, o exemplo obterá a interface IWDFIoRequest2, chamará GetStatus para obter o valor status da solicitação e chamará IWDFIoRequest::CompleteWithInformation para concluir a solicitação de E/S.
HRESULT hrSend = S_OK;
...
hrSend = fxRequest->Send(m_pIoTarget,
WDF_REQUEST_SEND_OPTION_SYNCHRONOUS,
0);
if (SUCCEEDED(hrSend))
{
//
// If send succeeded, complete the request and specify
// the current status value.
//
CComQIPtr<IWDFIoRequest2> fxRequest2 = fxRequest;
hrSend = fxRequest2->GetStatus();
fxRequest->CompleteWithInformation(hrSend, 0);
}
...
Requisitos
Requisito | Valor |
---|---|
Fim do suporte | Indisponível no UMDF 2.0 e posterior. |
Plataforma de Destino | Área de Trabalho |
Versão mínima do UMDF | 1,9 |
Cabeçalho | wudfddi.h (inclua Wudfddi.h) |
DLL | WUDFx.dll |
Confira também
IRequestCallbackRequestCompletion::OnCompletion
IWDFIoRequest::CompleteWithInformation