Método IWDFIoRequest2::GetStatus (wudfddi.h)
[Aviso: UMDF 2 é a versão mais recente do UMDF e substitui o UMDF 1. Todos os novos drivers UMDF devem ser gravados usando UMDF 2. Nenhum recurso novo 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 aoda UMDF .]
O método GetStatus retorna o status de uma solicitação de E/S.
Sintaxe
HRESULT GetStatus();
Valor de retorno
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.
Observações
Um driver pode chamar GetStatus depois de chamar IWDFIoRequest::Enviar 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 de status definido pelo driver que conclui a solicitação especificada.
Se o driver especifica WDF_REQUEST_SEND_OPTION_SYNCHRONOUS para uma solicitação quando chama Enviar, o driver pode chamar GetStatus (ou IWDFIoRequest::GetCompletionParams) imediatamente após chamar Enviar.
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 de 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 que Enviar retornado.
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 de 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. |
da Plataforma de Destino | Área de trabalho |
versão mínima do UMDF | 1.9 |
cabeçalho | wudfddi.h (inclua Wudfddi.h) |
de DLL | WUDFx.dll |
Consulte também
IRequestCallbackRequestCompletion::OnCompletion
IWDFIoRequest::CompleteWithInformation