Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
[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) |