Compartir a través de


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 irQL superior a PASSIVE_LEVEL.

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

Observaciones

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 WdfRequestTypeCreatesolicitudes de E/S con tipo en una función de devolución de llamada EvtDeviceFileCreate.

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

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

Para obtener más información sobre los nombres de archivo, vea Control del 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 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 wdffileobject.h (incluya Wdf.h)
Biblioteca 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