Compartir a través de


Método IWDFIoRequest2::Requeue (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 Requeue devuelve una solicitud de E/S al encabezado de la cola de E/S desde la que se entregó al controlador.

Sintaxis

HRESULT Requeue();

Valor devuelto

Requeue devuelve S_OK si la operación se realiza correctamente. De lo contrario, este método podría devolver uno de los siguientes valores:

Código devuelto Descripción
HRESULT_FROM_WIN32 (ERROR_INVALID_OPERATION)
Este valor se devuelve si se produce una de las siguientes acciones:
  • La solicitud de E/S especificada no provenía de una cola de E/S.
  • El controlador no posee la solicitud de E/S.
  • La solicitud se puede cancelar.
  • El método de distribución de la cola no es manual.
 

Este método puede devolver uno de los otros valores que contiene Winerror.h.

Comentarios

Un controlador solo puede llamar a Requeue si usa el método de distribución manual para la cola de E/S.

Ejemplos

En el ejemplo de código siguiente se muestra un segmento de una función de devolución de llamada IQueueCallbackStateChange::OnStateChange . El segmento obtiene una solicitud de E/S de la E/S y, a continuación, devuelve la solicitud a la cola.

void 
CMyQueue::OnStateChange(
    __in IWDFIoQueue* pWdfQueue,
    __in WDF_IO_QUEUE_STATE 
    )
{
    HRESULT hr;
    IWDFIoRequest* Request;
...
    //
    // Get the IWDFIoRequest interface of the next request.
    //
    hr = pWdfQueue->RetrieveNextRequest(&Request);
...
    //
    // Declare an IWDFIoRequest2 interface pointer and obtain the
    // IWDFIoRequest2 interface from the IWDFIoRequest interface.
    //
    CComQIPtr<IWDFIoRequest2> r2 = Request;

    //
    // Add code here to determine whether to process or requeue the request.
    //
...
    //
    // Requeue the request.
    //
    hr = r2->Requeue();
    if (FAILED(hr)) goto Error;
...
}

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

IWDFIoQueue::RetrieveNextRequest

IWDFIoRequest2