Compartir a través de


Función WdfRequestSetInformation (wdfrequest.h)

[Se aplica a KMDF y UMDF]

El método WdfRequestSetInformation establece la información de estado de finalización de una solicitud de E/S especificada.

Sintaxis

void WdfRequestSetInformation(
  [in] WDFREQUEST Request,
  [in] ULONG_PTR  Information
);

Parámetros

[in] Request

Identificador de un objeto de solicitud de marco.

[in] Information

Información de estado de finalización definida por el controlador para la solicitud.

Valor devuelto

None

Observaciones

Se produce una comprobación de errores si el controlador proporciona un identificador de objeto no válido.

Los controladores basados en marcos usan el método WdfRequestSetInformation para proporcionar información específica del controlador asociada a la finalización de una solicitud de E/S, como el número de bytes transferidos. Otros controladores pueden obtener esta información llamando a WdfRequestGetInformation.

Los controladores también pueden especificar información de estado de finalización llamando a WdfRequestCompleteWithInformation.

Para obtener más información sobre WdfRequestSetInformation, consulte Finalización de solicitudes de E/S.

Ejemplos

En el ejemplo de código siguiente se establece la información de finalización de solicitudes que se basa en el valor del código de control de E/S que recibe una función de devolución de llamada EvtIoDeviceControl .

VOID
MyEvtIoDeviceControl(
    IN WDFQUEUE  Queue,
    IN WDFREQUEST  Request,
    IN size_t  OutputBufferLength,
    IN size_t  InputBufferLength,
    IN ULONG  IoControlCode
    )
{
    switch (IoControlCode) {
      case MY_IOCTL_CODE_1:
            WdfRequestSetInformation(
                                     Request,
                                     VALUE_1
                                     );
            status = STATUS_SUCCESS;                                     
            break;

      case MY_IOCTL_CODE_2:
            WdfRequestSetInformation(
                                     Request,
                                     VALUE_2
                                     );
            status = STATUS_SUCCESS;                                     
            break;

      case MY_IOCTL_CODE_3:
            WdfRequestSetInformation(
                                     Request,
                                     VALUE_3
                                     );
            status = STATUS_SUCCESS;
            break;

      default:
            status = STATUS_INVALID_DEVICE_REQUEST;
            break;
    }

    WdfRequestComplete(
                       Request,
                       status
                       );
}

Requisitos

Requisito Value
Plataforma de destino Universal
Versión mínima de KMDF 1.0
Versión mínima de UMDF 2.0
Encabezado wdfrequest.h (incluya Wdf.h)
Library Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
Reglas de cumplimiento de DDI DriverCreate(kmdf), InvalidReqAccess(kmdf), InvalidReqAccessLocal(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Consulte también

WdfRequestCompleteWithInformation

WdfRequestGetInformation