Método IWDFIoRequest2::Reuse (wudfddi.h)

[Advertencia: UMDF 2 es la versión más reciente de UMDF y sustituye a UMDF 1. Todos los controladores UMDF nuevos deben escribirse con UMDF 2. No se agregan nuevas características a UMDF 1 y hay compatibilidad limitada con UMDF 1 en versiones más recientes de Windows 10. Los controladores universales de Windows deben usar UMDF 2. Para obtener más información, consulta Introducción con UMDF.

El método Reuse reinicializa un objeto de solicitud de marco para que se pueda reutilizar.

Sintaxis

void Reuse(
  [in] HRESULT hrNewStatus
);

Parámetros

[in] hrNewStatus

Valor de estado con tipo HRESULT que el marco asigna a la solicitud.

Valor devuelto

None

Observaciones

Si un controlador basado en marcos llama a IWDFDevice::CreateRequest para crear objetos de solicitud, el controlador puede reutilizar esos objetos de solicitud. Los controladores también pueden reutilizar objetos de solicitud que reciben del marco en sus colas de E/S.

Un controlador puede reutilizar un objeto de solicitud una vez completada la solicitud original. Una vez que un controlador haya llamado Reutilización, se debe reinicializar el contenido de la solicitud.

Si desea que la solicitud reutilizada tenga una función de devolución de llamada IRequestCallbackRequestCompletion::OnCompletion , el controlador debe llamar a IWDFIoRequest::SetCompletionCallback después de llamar a Reuse.

Para obtener más información sobre la reutilización, consulte Reutilización de objetos de solicitud de marco.

Ejemplos

En el ejemplo de código siguiente se muestra cómo una función de devolución de llamada IRequestCallbackRequestCompletion::OnCompletion puede obtener la interfaz IWDFIoRequest2 y, a continuación, llamar a 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 Value
Finalización del soporte técnico No disponible en UMDF 2.0 y versiones posteriores.
Plataforma de destino Escritorio
Versión mínima de UMDF 1,9
Encabezado wudfddi.h (incluya Wudfddi.h)
Archivo DLL WUDFx.dll

Consulte también

IRequestCallbackRequestCompletion::OnCompletion

IWDFIoRequest2

IWDFIoRequest::SetCompletionCallback