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 d’infrastructure spécifié contient.

Syntaxe

PUNICODE_STRING WdfFileObjectGetFileName(
  [in] WDFFILEOBJECT FileObject
);

Paramètres

[in] FileObject

Handle pour un objet de fichier d’infrastructure.

Valeur retournée

WdfFileObjectGetFileName renvoie un pointeur vers une structure UNICODE_STRING qui contient le nom de fichier. La méthode retourne NULL s’il n’existe aucun objet de fichier WDM pour l’objet de fichier d’infrastructure spécifié, ou s’il est appelé à une valeur IRQL supérieure à PASSIVE_LEVEL.

Un bogue case activée 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 UNICODE_STRING retournée est égal à zéro.

Votre pilote doit uniquement appeler WdfFileObjectGetFileName pendant le traitement d’une demande de création de fichier (type de requête WdfRequestTypeCreate ). Votre pilote peut traiter les demandes d’E/S de type WdfRequestTypeCreate 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 (type de requête WdfRequestTypeCreate ). Le pilote recevra ensuite des 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 d’infrastructure, consultez Framework File Objects.

Pour plus d’informations sur les noms de fichiers, consultez Contrôle de l’accès à l’espace de noms des appareils.

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 qu’une application a ouvert.

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

    fileName = WdfFileObjectGetFileName(FileObject);
...

}

Configuration requise

Condition requise Valeur
Plateforme cible Universal
Version KMDF minimale 1.0
Version UMDF minimale 2.0
En-tête wdffileobject.h (inclure 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