Fonction FltGetVolumeFromDeviceObject (fltkernel.h)
La routine FltGetVolumeFromDeviceObject retourne un pointeur opaque pour le volume représenté par un objet de périphérique de volume (VDO).
Syntaxe
NTSTATUS FLTAPI FltGetVolumeFromDeviceObject(
[in] PFLT_FILTER Filter,
[in] PDEVICE_OBJECT DeviceObject,
[out] PFLT_VOLUME *RetVolume
);
Paramètres
[in] Filter
Pointeur de filtre opaque pour l’appelant. Ce paramètre est obligatoire et ne peut pas avoir la valeur NULL.
[in] DeviceObject
Pointeur vers l’objet de périphérique de volume.
[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 avoir la valeur NULL.
Valeur retournée
FltGetVolumeFromDeviceObject retourne STATUS_SUCCESS ou une valeur NTSTATUS appropriée, par exemple :
Code de retour | Description |
---|---|
STATUS_FLT_DELETING_OBJECT | Le volume est en train d’être détruit. Il s’agit d’un code d’erreur. |
STATUS_INVALID_PARAMETER | L’objet de périphérique de volume spécifié dans le paramètre DeviceObject n’était pas un pointeur d’objet d’appareil de volume valide ou aucun volume correspondant n’a été trouvé. Il s’agit d’un code d’erreur. |
Remarques
Le paramètre DeviceObject peut être un pointeur vers un filtre ou un objet VDO (Volume Device Object) de système de fichiers. S’il pointe vers un objet de périphérique de stockage, FltGetVolumeFromDeviceObject retourne STATUS_INVALID_PARAMETER.
Pour plus d’informations sur les objets d’appareil de volume, consultez Piles du système de fichiers.
FltGetVolumeFromDeviceObject ajoute une référence d’exécution 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 à FltGetVolumeFromDeviceObject doit être mis en correspondance par un appel ultérieur à FltObjectDereference.
Pour obtenir un pointeur vers l’objet d’appareil pour un volume donné, appelez FltGetDeviceObject.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
En-tête | fltkernel.h (inclure Fltkernel.h) |
Bibliothèque | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |