Partager via


FltGetVolumeFromDeviceObject, fonction (fltkernel.h)

La routine FltGetVolumeFromDeviceObject retourne un pointeur opaque pour le volume représenté par un objet d’appareil 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 être NULL.

[in] DeviceObject

Pointeur vers l’objet d’appareil 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 être NULL.

Valeur de retour

FltGetVolumeFromDeviceObject retourne STATUS_SUCCESS ou une valeur NTSTATUS appropriée, comme l’une des valeurs suivantes :

Retourner le code Description
STATUS_FLT_DELETING_OBJECT Le volume est détruit. Il s’agit d’un code d’erreur.
STATUS_INVALID_PARAMETER Objet d’appareil 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 d’appareil de volume de système de fichiers (VDO). S’il pointe vers un objet d’appareil de stockage, FltGetVolumeFromDeviceObject retourne STATUS_INVALID_PARAMETER.

Pour plus d’informations sur les objets d’appareil en volume, consultez piles de systèmes 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.

Exigences

Exigence Valeur
plateforme cible Universel
d’en-tête fltkernel.h (include Fltkernel.h)
bibliothèque FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

Voir aussi

FltGetDeviceObject

FltGetDiskDeviceObject

FltObjectDereference