Condividi tramite


Funzione WdfFileObjectGetFileName (wdffileobject.h)

[Si applica a KMDF e UMDF]

Il metodo WdfFileObjectGetFileName restituisce il nome del file che contiene un oggetto file framework specificato.

Sintassi

PUNICODE_STRING WdfFileObjectGetFileName(
  [in] WDFFILEOBJECT FileObject
);

Parametri

[in] FileObject

Handle per un oggetto file framework.

Valore restituito

WdfFileObjectGetFileName restituisce un puntatore a una struttura UNICODE_STRING contenente il nome del file. Il metodo restituisce NULL se non è presente alcun oggetto file WDM per l'oggetto file framework specificato o se viene chiamato in un oggetto IRQL superiore a PASSIVE_LEVEL.

Un controllo di bug si verifica se il driver fornisce un handle di oggetti non valido.

Commenti

Se un driver ha specificato una stringa di riferimento quando viene chiamata WdfDeviceCreateDeviceInterface, WdfFileObjectGetFileName restituisce la stringa di riferimento preceduta da una barra rovesciata. Per determinare la stringa di riferimento, rimuovere la barra rovesciata.

La stringa restituita può contenere un nome file o una stringa di riferimento. La stringa non contiene il nome del dispositivo. Se un componente in modalità kernel o applicazione ha aperto il dispositivo anziché un file, senza una stringa di riferimento, il membro Length della struttura UNICODE_STRING restituita è zero.

Il driver deve chiamare solo WdfFileObjectGetFileName durante l'elaborazione di una richiesta di creazione di file (tipo di richiesta WdfRequestTypeCreate ). Il driver potrebbe elaborare le richieste di I/O WdfRequestTypeCreate-typed in una funzione evtDeviceFileCreate callback.

In alternativa, invece di fornire una funzione di callback EvtDeviceFileCreate , il driver può chiamare WdfDeviceConfigureRequestDispatching per impostare una coda di I/O per ricevere tutte le richieste di creazione di file (WdfRequestTypeCreate request type). Il driver riceverà successivamente richieste di creazione di file nel gestore delle richieste EvtIoDefault della coda.

Per altre informazioni sugli oggetti file framework, vedere Oggetti file framework.

Per altre informazioni sui nomi dei file, vedere Controllo dell'accesso dello spazio dei nomi dei dispositivi.

Per altre informazioni sulle stringhe di riferimento, vedere IoRegisterDeviceInterface.

Esempio

Nell'esempio di codice seguente viene illustrato come una funzione di callback EvtDeviceCreate può ottenere il nome del file aperto da un'applicazione.

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

    fileName = WdfFileObjectGetFileName(FileObject);
...

}

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Versione KMDF minima 1.0
Versione UMDF minima 2,0
Intestazione wdffileobject.h (includere Wdf.h)
Libreria Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL
Regole di conformità DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Vedi anche

UNICODE_STRING

WdfDeviceCreateDeviceInterface