Función WdfFileObjectGetFileName (wdffileobject.h)

[Se aplica a KMDF y UMDF]

El método WdfFileObjectGetFileName devuelve el nombre de archivo que contiene un objeto de archivo de marco especificado.

Sintaxis

PUNICODE_STRING WdfFileObjectGetFileName(
  [in] WDFFILEOBJECT FileObject
);

Parámetros

[in] FileObject

Identificador de un objeto de archivo de marco.

Valor devuelto

WdfFileObjectGetFileName devuelve un puntero a una estructura de UNICODE_STRING que contiene el nombre de archivo. El método devuelve NULL si no hay ningún objeto de archivo WDM para el objeto de archivo de marco especificado o si se llama a en un IRQL superior a PASSIVE_LEVEL.

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

Comentarios

Si un controlador especificó una cadena de referencia cuando llamó a WdfDeviceCreateDeviceInterface, WdfFileObjectGetFileName devuelve la cadena de referencia antepuesta por una barra diagonal inversa. Para determinar la cadena de referencia, quite la barra diagonal inversa.

La cadena devuelta puede contener un nombre de archivo o una cadena de referencia. La cadena no contiene el nombre del dispositivo. Si una aplicación o un componente en modo kernel ha abierto el dispositivo en lugar de un archivo, sin ninguna cadena de referencia, el miembro Length de la estructura de UNICODE_STRING devuelta es cero.

El controlador solo debe llamar a WdfFileObjectGetFileName mientras procesa una solicitud de creación de archivos (tipo de solicitud WdfRequestTypeCreate ). El controlador puede procesar solicitudes de E/S con tipo WdfRequestTypeCreate en una función de devolución de llamada EvtDeviceFileCreate .

O bien, en lugar de proporcionar una función de devolución de llamada EvtDeviceFileCreate , el controlador puede llamar a WdfDeviceConfigureRequestDispatching para establecer una cola de E/S para recibir todas las solicitudes de creación de archivos (tipo de solicitud WdfRequestTypeCreate ). Posteriormente, el controlador recibirá solicitudes de creación de archivos en el controlador de solicitudes EvtIoDefault de la cola.

Para obtener más información sobre los objetos de archivo de marco, vea Objetos de archivo de marco.

Para obtener más información sobre los nombres de archivo, vea Controlar el acceso al espacio de nombres del dispositivo.

Para obtener más información sobre las cadenas de referencia, consulte IoRegisterDeviceInterface.

Ejemplos

En el ejemplo de código siguiente se muestra cómo una función de devolución de llamada EvtDeviceFileCreate puede obtener el nombre del archivo que ha abierto una aplicación.

VOID
MyEvtDeviceFileCreate (
    IN WDFDEVICE  Device,
    IN WDFREQUEST  Request,
    IN WDFFILEOBJECT  FileObject
    )
{
    PUNICODE_STRING  fileName;

    fileName = WdfFileObjectGetFileName(FileObject);
...

}

Requisitos

Requisito Value
Plataforma de destino Universal
Versión mínima de KMDF 1.0
Versión mínima de UMDF 2.0
Encabezado wdffileobject.h (incluir Wdf.h)
Library Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL
Reglas de cumplimiento de DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Consulte también

UNICODE_STRING

WdfDeviceCreateDeviceInterface