Función WdfDeviceGetFileObject (wdfdevice.h)
[Solo se aplica a KMDF]
El método WdfDeviceGetFileObject devuelve un identificador al objeto de archivo de marco asociado a un objeto de archivo WDM especificado.
Sintaxis
WDFFILEOBJECT WdfDeviceGetFileObject(
[in] WDFDEVICE Device,
[in] PFILE_OBJECT FileObject
);
Parámetros
[in] Device
Identificador de un objeto de dispositivo de marco.
[in] FileObject
Puntero a una estructura de FILE_OBJECT WDM .
Valor devuelto
WdfDeviceGetFileObject devuelve un identificador al objeto de archivo de marco asociado al objeto de archivo WDM especificado. Si no se creó un objeto de archivo de marco para el archivo o si el puntero FileObject no es válido, el método devuelve NULL.
Se produce una comprobación de errores si el controlador proporciona un identificador de objeto no válido.
Comentarios
Para obtener más información sobre los objetos de archivo de marco, vea Objetos de archivo de marco.
Ejemplos
En el ejemplo de código siguiente se obtiene un puntero a un objeto de dispositivo WDM con nombre y su objeto de archivo WDM correspondiente, si se puede conceder el acceso solicitado a los objetos. A continuación, el ejemplo obtiene un identificador para el objeto de archivo de marco asociado al objeto de archivo WDM.
PFILE_OBJECT pWdmFileObject = NULL;
PDEVICE_OBJECT pWdmDeviceObject = NULL;
WDFFILEOBJECT fileObject = NULL;
NTSTATUS status = STATUS_SUCCESS;
BOOLEAN success = TRUE;
status = IoGetDeviceObjectPointer(
&inputFileName, // File name
FILE_ALL_ACCESS, // Access mask
&pWdmFileObject, // Output pointer of WDM file object
&pWdmDeviceObject // Output pointer of WDM device object
);
if(!NT_SUCCESS(status)){
success = FALSE;
break;
}
fileObject = WdfDeviceGetFileObject(
gDeviceObject, // Handle to device object
pWdmFileObject // Handle to WDM file object
);
if(fileObject == NULL){
success = FALSE;
}
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Universal |
Versión mínima de KMDF | 1.0 |
Encabezado | wdfdevice.h (incluir Wdf.h) |
Library | Wdf01000.sys (consulte Control de versiones de la biblioteca de marcos). |
IRQL | <= DISPATCH_LEVEL |
Reglas de cumplimiento de DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |