Compartilhar via


Método IWDFIoRequest2::Reuse (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 Reuse reinicializa um objeto de solicitação de estrutura para que ele possa ser reutilizado.

Sintaxe

void Reuse(
  [in] HRESULT hrNewStatus
);

Parâmetros

[in] hrNewStatus

Um valor de status do tipo HRESULT que a estrutura atribui à solicitação.

Retornar valor

Nenhum

Comentários

Se um driver baseado em estrutura chamar IWDFDevice::CreateRequest para criar objetos de solicitação, o driver poderá reutilizar esses objetos de solicitação. Os drivers também podem reutilizar objetos de solicitação que recebem da estrutura em suas filas de E/S.

Um driver pode reutilizar um objeto de solicitação após a conclusão da solicitação original. Depois que um driver tiver chamado Reuse, o conteúdo da solicitação deverá ser reinicializado.

Se você quiser que a solicitação reutilizado tenha uma função de retorno de chamada IRequestCallbackRequestCompletion::OnCompletion , o driver deverá chamar IWDFIoRequest::SetCompletionCallback depois de chamar Reuse.

Para obter mais informações sobre Reutilização, consulte Reutilizando objetos de solicitação de estrutura.

Exemplos

O exemplo de código a seguir mostra como uma função de retorno de chamada IRequestCallbackRequestCompletion::OnCompletion pode obter a interface IWDFIoRequest2 e, em seguida, chamar Reuse.

void 
STDMETHODCALLTYPE
CMyRemoteDevice::OnCompletion(
    __in IWDFIoRequest*  FxRequest,
    __in IWDFIoTarget*  FxTarget,
    __in IWDFRequestCompletionParams*  Params,
    __in void*  Context
    )
{
...
    CComQIPtr<IWDFIoRequest2> fxRequest2(FxRequest);
    fxRequest2->Reuse(S_OK);
...
}

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

IWDFIoRequest2

IWDFIoRequest::SetCompletionCallback