Fonction FltGetVolumeProperties (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 avoir la valeur NULL.
[out] VolumeProperties
Pointeur vers une mémoire tampon allouée à l’appelant qui reçoit les informations de propriété de volume demandées. Si Longueur est égale à zéro en entrée, ce paramètre est ignoré. Sinon, ce paramètre est obligatoire et ne peut pas avoir la valeur NULL.
VolumePropertiesLength
Taille, en octets, de la mémoire tampon pointée vers le paramètre VolumeProperties . Ce paramètre est facultatif et peut être égal à zéro. S’il est égal à 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 nul, il doit être au moins la valeur 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 Length est égal à zéro en 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 avoir la valeur NULL.
Valeur retournée
FltGetVolumeProperties retourne STATUS_SUCCESS ou une valeur NTSTATUS appropriée, par exemple :
Code de retour | Description |
---|---|
|
La mémoire tampon vers laquelle pointe le paramètre VolumeProperties est suffisamment grande pour contenir la partie fixe de la structure FLT_VOLUME_PROPERTIES , mais pas les membres FileSystemDriverName, FileSystemDeviceName ou RealDeviceName . Dans ce cas, seule la partie fixe des informations de volume est retournée dans la mémoire tampon vers laquelle pointe 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. |
|
La mémoire tampon vers laquelle pointe le paramètre VolumeProperties n’est pas assez grande pour contenir les informations de propriété de volume. Le paramètre LengthReturned reçoit la taille de mémoire tampon requise. Dans ce cas, aucune information de 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 de blocage du système. Par conséquent, un pilote de minifiltre 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é.
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 |