Partager via


Fonction FltGetVolumeFromName (fltkernel.h)

La routine FltGetVolumeFromName retourne un pointeur opaque pour le volume dont le nom correspond à la valeur du paramètre VolumeName .

Syntaxe

NTSTATUS FLTAPI FltGetVolumeFromName(
  [in]  PFLT_FILTER      Filter,
  [in]  PCUNICODE_STRING VolumeName,
  [out] PFLT_VOLUME      *RetVolume
);

Paramètres

[in] Filter

Pointeur de filtre opaque pour l’appelant. Ce paramètre est obligatoire et ne peut pas être NULL.

[in] VolumeName

Pointeur vers une structure UNICODE_STRING qui contient le nom du volume (par exemple, « \Device\HarddiskVolume1 », « \DosDevices\D : », « \ ?? \D : », ou « D : »). Ce paramètre est obligatoire et ne peut pas être NULL.

[out] RetVolume

Pointeur vers une variable allouée par l’appelant qui reçoit un pointeur opaque pour le volume. Ce paramètre est obligatoire et ne peut pas être NULL.

Valeur retournée

FltGetVolumeFromName retourne STATUS_SUCCESS ou une valeur NTSTATUS appropriée, par exemple :

Code de retour Description
STATUS_ACCESS_DENIED L’appelant n’avait pas FILE_READ_DATA accès au volume. Il s’agit d’un code d’erreur.
STATUS_FLT_DELETING_OBJECT Le volume est en train d’être détruit. Il s’agit d’un code d’erreur.
STATUS_INVALID_PARAMETER Une valeur non valide a été spécifiée pour le paramètre VolumeName . Il s’agit d’un code d’erreur.
STATUS_FLT_VOLUME_NOT_FOUND Aucun volume correspondant n’a été trouvé. Il s’agit d’un code d’erreur.

Remarques

FltGetVolumeFromName recherche dans la liste globale des volumes du Gestionnaire de filtres un volume dont le nom correspond à VolumeName. L’appelant doit avoir FILE_READ_DATA accès au volume. Pour localiser la structure du volume, FltGetVolumeFromName doit d’abord ouvrir le volume.

FltGetVolumeFromName ajoute une référence d’arrêt au pointeur de volume opaque retourné dans le paramètre RetVolume . Lorsque ce pointeur n’est plus nécessaire, l’appelant doit le libérer en appelant FltObjectDereference. Ainsi, chaque appel réussi à FltGetVolumeFromName doit être mis en correspondance par un appel ultérieur à FltObjectDereference.

Pour obtenir le nom du volume d’un volume donné, appelez FltGetVolumeName.

Pour obtenir le nom GUID du volume pour un volume donné, appelez FltGetVolumeGuidName.

Configuration requise

Condition requise Valeur
Plateforme cible Universal
En-tête fltkernel.h (inclure Fltkernel.h)
Bibliothèque FltMgr.lib
DLL Fltmgr.sys
IRQL PASSIVE_LEVEL

Voir aussi

FltGetFilterFromName

FltGetVolumeGuidName

FltGetVolumeInstanceFromName

FltGetVolumeName

FltObjectDereference

UNICODE_STRING