Partager via


FltGetVolumeProperties, fonction (fltkernel.h)

La routine FltGetVolumeProperties retourne des informations de propriété de volume pour le volume donné.

Syntaxe

NTSTATUS FLTAPI FltGetVolumeProperties(
  [in]  PFLT_VOLUME            Volume,
  [out] PFLT_VOLUME_PROPERTIES VolumeProperties,
        ULONG                  VolumePropertiesLength,
  [out] PULONG                 LengthReturned
);

Paramètres

[in] Volume

Pointeur opaque pour le volume. Ce paramètre est obligatoire et ne peut pas être NULL.

[out] VolumeProperties

Pointeur vers une mémoire tampon allouée par l’appelant qui reçoit les informations de propriété de volume demandées. Si Longueur est égale à zéro lors de l’entrée, ce paramètre est ignoré. Sinon, ce paramètre est obligatoire et ne peut pas être NULL.

VolumePropertiesLength

Taille, en octets, de la mémoire tampon pointée par le paramètre VolumeProperties. Ce paramètre est facultatif et peut être égal à zéro. S’il s’agit de zéro, LengthReturned reçoit la taille, en octets, de la mémoire tampon nécessaire pour contenir les propriétés du volume. Si ce paramètre n’est pas différent de zéro, il doit être au moins la valeur de sizeof(FLT_VOLUME_PROPERTIES).

[out] LengthReturned

Pointeur vers une variable allouée par l’appelant qui reçoit la taille, en octets, des informations retournées dans VolumeProperties. Si FltGetVolumeProperties retourne STATUS_BUFFER_TOO_SMALL, ou si longueur est égale à zéro lors de l’entrée, ce paramètre reçoit à la place la taille, en octets, de la mémoire tampon nécessaire pour contenir les propriétés du volume. Ce paramètre est obligatoire et ne peut pas être NULL.

Valeur de retour

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

Retourner le code Description
STATUS_BUFFER_OVERFLOW
Mémoire tampon pour laquelle le paramètre VolumeProperties est suffisamment volumineux pour contenir la partie fixe de la structure FLT_VOLUME_PROPERTIES, mais pas les membres FileSystemDriverName, FileSystemDeviceNameou RealDeviceName. Dans ce cas, seule la partie fixe des informations de volume est retournée dans la mémoire tampon pointée par le paramètre VolumeProperties. Le paramètre LengthReturned reçoit la longueur réelle, en octets, des données retournées. Il s’agit d’un code d’avertissement.
STATUS_BUFFER_TOO_SMALL
Mémoire tampon pour laquelle le paramètre VolumeProperties n’est pas suffisamment volumineux pour contenir les informations de propriété du volume. Le paramètre LengthReturned reçoit la taille de mémoire tampon requise. Dans ce cas, aucune information sur le volume n’est retournée. Il s’agit d’un code d’erreur.

Remarques

FltGetVolumeProperties retourne uniquement les informations qui peuvent être interrogées en toute sécurité pendant le processus de montage sans risque d’interblocage système. Par conséquent, un pilote minifilter appelle généralement cette routine à partir d’une fonction de rappel post-montage ou d’une routine InstanceSetupCallback (PFLT_INSTANCE_SETUP_CALLBACK) pour déterminer s’il faut attacher un volume donné.

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

FLT_VOLUME_PROPERTIES

PFLT_INSTANCE_SETUP_CALLBACK