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 nuevos controladores UMDF deben escribirse mediante 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 a 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 procede 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 podría devolver uno de los otros valores que contiene Winerror.h.

Observaciones

Un controlador puede llamar a requeue solo 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 IQueueCallbackStateChang e::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 Valor
fin del soporte técnico No disponible en UMDF 2.0 y versiones posteriores.
de la plataforma de destino de Escritorio
versión mínima de UMDF 1.9
encabezado de wudfddi.h (incluya Wudfddi.h)
DLL de WUDFx.dll

Consulte también

IWDFIoQueue::RetrieveNextRequest

IWDFIoRequest2