Partager via


WdfFileObjectGetFileName, fonction (wdffileobject.h)

[S’applique à KMDF et UMDF]

La méthode WdfFileObjectGetFileName retourne le nom de fichier qu’un objet de fichier framework spécifié contient.

Syntaxe

PUNICODE_STRING WdfFileObjectGetFileName(
  [in] WDFFILEOBJECT FileObject
);

Paramètres

[in] FileObject

Handle d’un objet de fichier framework.

Valeur de retour

WdfFileObjectGetFileName retourne un pointeur vers une structure UNICODE_STRING qui contient le nom du fichier. La méthode retourne NULL s’il n’existe aucun objet de fichier WDM pour l’objet de fichier framework spécifié, ou s’il est appelé à un irQL supérieur à PASSIVE_LEVEL.

Une vérification de bogue se produit si le pilote fournit un handle d’objet non valide.

Remarques

Si un pilote a spécifié une chaîne de référence lorsqu’il a appelé WdfDeviceCreateDeviceInterface, WdfFileObjectGetFileName retourne la chaîne de référence précédée d’une barre oblique inverse. Pour déterminer la chaîne de référence, supprimez la barre oblique inverse.

La chaîne retournée peut contenir un nom de fichier ou une chaîne de référence. La chaîne ne contient pas le nom de l’appareil. Si une application ou un composant en mode noyau a ouvert l’appareil au lieu d’un fichier, sans chaîne de référence, le membre Length de la structure de UNICODE_STRING retournée est égal à zéro.

Votre pilote doit uniquement appeler WdfFileObjectGetFileName pendant qu’il traite une demande de création de fichier (WdfRequestTypeCreate type de requête). Votre pilote peut traiter requêtes d’E/S WdfRequestTypeCreate-typées d’E/S dans une fonction de rappel EvtDeviceFileCreate.

Ou, au lieu de fournir une fonction de rappel EvtDeviceFileCreate, le pilote peut appeler WdfDeviceConfigureRequestDispatching pour définir une file d’attente d’E/S pour recevoir toutes les demandes de création de fichiers (WdfRequestTypeCreate type de requête). Le pilote recevra par la suite les demandes de création de fichiers dans le gestionnaire de requêtes evtIoDefault de la file d’attente.

Pour plus d’informations sur les objets de fichier framework, consultez Framework File Objects.

Pour plus d’informations sur les noms de fichiers, consultez Contrôle de l’accès aux espaces de noms d’appareil.

Pour plus d’informations sur les chaînes de référence, consultez IoRegisterDeviceInterface.

Exemples

L’exemple de code suivant montre comment une fonction de rappel EvtDeviceFileCreate peut obtenir le nom du fichier ouvert par une application.

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

    fileName = WdfFileObjectGetFileName(FileObject);
...

}

Spécifications

Besoin Valeur
plateforme cible Universel
version minimale de KMDF 1.0
version minimale de UMDF 2.0
En-tête wdffileobject.h (include Wdf.h)
Bibliothèque Wdf01000.sys (KMDF) ; WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL
règles de conformité DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Voir aussi

UNICODE_STRING

WdfDeviceCreateDeviceInterface