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 |