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 |
---|---|
|
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. |
|
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 |