Función WdfRequestGetFileObject (wdfrequest.h)
[Se aplica a KMDF y UMDF]
El método WdfRequestGetFileObject recupera el objeto de archivo de marco asociado a una solicitud de E/S especificada.
Sintaxis
WDFFILEOBJECT WdfRequestGetFileObject(
[in] WDFREQUEST Request
);
Parámetros
[in] Request
Identificador de un objeto de solicitud de marco.
Valor devuelto
WdfRequestGetFileObject devuelve un identificador al objeto de archivo de marco, si el marco ha creado un objeto de archivo para la solicitud especificada. De lo contrario, este método devuelve NULL . (Normalmente, un controlador prueba un valor devuelto de NULL si establece la marca de bits WdfFileObjectCanBeOptional en la estructura de WDF_FILEOBJECT_CONFIG).
Se produce una comprobación de errores si el controlador proporciona un identificador de objeto no válido.
Observaciones
El método WdfRequestGetFileObject devuelve NULL si:
- No se ha llamado al controlador WdfDeviceInitSetFileObjectConfig y ha especificado un valor de WDF_FILEOBJECT_CLASS que hace que el marco cree objetos de archivo.
- Otro controlador envió una solicitud de control de lectura, escritura o E/S al controlador sin enviar primero un tipo de solicitud de WdfRequestTypeCreate.
Ejemplos
En el ejemplo de código siguiente se obtiene el objeto de archivo de una solicitud de E/S y, a continuación, se llama a una rutina definida por el controlador que obtiene un puntero al espacio de contexto del objeto de archivo.
VOID
MyEvtIoWrite(
IN WDFQUEUE Queue,
IN WDFREQUEST Request,
IN size_t Length
)
{
WDFFILEOBJECT fileObject;
PFILE_OPEN_CONTEXT pOpenContext;
fileObject = WdfRequestGetFileObject(Request);
pOpenContext = GetFileObjectContext(fileObject)->OpenContext;
}
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), FileObjectConfigured(kmdf), InvalidReqAccess(kmdf), InvalidReqAccessLocal() kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |