Función WdfRequestGetStatus (wdfrequest.h)
[Se aplica a KMDF y UMDF]
El método WdfRequestGetStatus devuelve el estado de una solicitud de E/S.
Sintaxis
NTSTATUS WdfRequestGetStatus(
[in] WDFREQUEST Request
);
Parámetros
[in] Request
Identificador de un objeto de solicitud de marco.
Valor devuelto
WdfRequestGetStatus devuelve un valor NTSTATUS. Para obtener más información sobre qué valor se puede devolver, consulte la sección Comentarios siguiente.
Se produce una comprobación de errores si el controlador proporciona un identificador de objeto no válido.
Observaciones
El método WdfRequestGetStatus devuelve uno de los siguientes:
- Si la llamada de un controlador a WdfRequestSend se realiza correctamente, WdfRequestGetStatus devuelve el valor de estado establecido por el controlador que llama a WdfRequestComplete para completar la solicitud especificada. Normalmente, el controlador llama a WdfRequestGetStatus desde una función de devolución de llamada CompletionRoutine.
- Si se produce un error en la llamada de un controlador a WdfRequestSend, WdfRequestGetStatus devuelve un valor de estado que el marco ha establecido para describir el error. El controlador puede llamar a WdfRequestGetStatus inmediatamente después de llamar a WdfRequestSend.
Para obtener más información sobre la finalización de solicitudes, consulte Finalización de solicitudes de E/S.
Ejemplos
El siguiente ejemplo de código procede del controlador de ejemplo KbFiltr. En este ejemplo se envía una solicitud de E/S a un destino de E/S. Si se produce un error en WdfRequestSend, en el ejemplo se usa el WdfRequestGetStatus valor devuelto como entrada para WdfRequestComplete.
VOID
KbFilter_ForwardRequest(
IN WDFREQUEST Request,
IN WDFIOTARGET Target
)
{
WDF_REQUEST_SEND_OPTIONS options;
BOOLEAN ret;
NTSTATUS status;
WDF_REQUEST_SEND_OPTIONS_INIT(
&options,
WDF_REQUEST_SEND_OPTION_SEND_AND_FORGET
);
ret = WdfRequestSend(
Request,
Target,
&options
);
if (ret == FALSE) {
status = WdfRequestGetStatus (Request);
DebugPrint(("WdfRequestSend failed: 0x%x\n", status));
WdfRequestComplete(
Request,
status
);
}
return;
}
Requisitos
Requisito | Valor |
---|---|
de la plataforma de destino de | Universal |
versión mínima de KMDF | 1.0 |
versión mínima de UMDF | 2.0 |
encabezado de | wdfrequest.h (incluya Wdf.h) |
biblioteca de | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
irQL | <=DISPATCH_LEVEL |
reglas de cumplimiento de DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), RequestGetStatusValid(kmdf) |