Fonction FltGetVolumeInformation (fltkernel.h)
La routine FltGetVolumeInformation fournit des informations sur un volume donné.
Syntaxe
NTSTATUS FLTAPI FltGetVolumeInformation(
[in] PFLT_VOLUME Volume,
[in] FILTER_VOLUME_INFORMATION_CLASS InformationClass,
[out] PVOID Buffer,
[in] ULONG BufferSize,
[out] PULONG BytesReturned
);
Paramètres
[in] Volume
Pointeur opaque pour le volume. Ce paramètre est obligatoire et ne peut pas avoir la valeur NULL.
[in] InformationClass
Type d’informations demandées. Ce paramètre est obligatoire et doit être l’une des valeurs suivantes.
Valeur | Signification |
---|---|
FilterVolumeBasicInformation | Le paramètre Buffer reçoit une structure FILTER_VOLUME_BASIC_INFORMATION pour le volume. |
FilterVolumeStandardInformation | Le paramètre Buffer reçoit une structure FILTER_VOLUME_STANDARD_INFORMATION pour le volume. Cette structure est disponible à partir de Windows Vista. |
[out] Buffer
Pointeur vers une mémoire tampon allouée à l’appelant qui reçoit les informations demandées. Le type des informations retournées dans la mémoire tampon est défini par le paramètre InformationClass . Ce paramètre est obligatoire et ne peut pas avoir la valeur NULL.
[in] BufferSize
Taille, en octets, de la mémoire tampon vers laquelle pointe le paramètre Buffer . L’appelant doit définir ce paramètre en fonction de la valeur InformationClass donnée. Ce paramètre est obligatoire.
[out] BytesReturned
Pointeur vers une variable allouée à l’appelant qui reçoit le nombre d’octets retournés dans la mémoire tampon vers laquelle la mémoire tampon pointe. Si la valeur d’entrée de BufferSize est trop petite, FltGetVolumeInformation retourne STATUS_BUFFER_TOO_SMALL et définit cette variable sur le nombre d’octets requis pour stocker les informations demandées. Ce paramètre est obligatoire et ne peut pas avoir la valeur NULL.
Valeur retournée
FltGetVolumeInformation retourne STATUS_SUCCESS ou un code NTSTATUS status approprié, comme l’un des éléments suivants :
Code de retour | Description |
---|---|
|
Une valeur non valide a été spécifiée pour le paramètre InformationClass . Par exemple, si FilterVolumeStandardInformation est spécifié sur un système d’exploitation antérieur à Windows Vista, la routine retourne STATUS_INVALID_PARAMETER. Il s’agit d’un code d’erreur. |
|
La mémoire tampon vers laquelle pointe le paramètre Buffer n’est pas assez grande pour stocker les informations demandées. Il s’agit d’un code d’erreur. |
Remarques
Étant donné un pointeur de volume opaque, tel que celui retourné par la routine FltEnumerateVolumes , la routine FltGetVolumeInformation fournit des informations sur le volume pointé vers le pointeur de volume opaque, transmis via le paramètre Volume . Notez que l’appelant doit finalement libérer le pointeur de volume opaque en appelant la routine FltObjectDereference .
La routine FltGetVolumeInformation retourne des informations pour un volume unique. Toutefois, étant donné une liste de pointeurs de volume opaques, la routine peut être utilisée de manière itérative pour créer une liste des structures d’informations de volume correspondantes. Dans une telle liste, il est possible que deux structures ou plus contiennent des noms de volume identiques. Pour plus d’informations, consultez Présentation des énumérations de volumes avec des noms de volumes en double.
Pour répertorier les informations de volume pour tous les volumes connus du gestionnaire de filtres, appelez FltEnumerateVolumeInformation.
La liste suivante contient des informations connexes, qui peuvent être utilisées :
- Pour énumérer tous les pilotes de minifiltre inscrits dans le système, appelez la routine FltEnumerateFilters .
- Pour obtenir des informations sur les instances de pilotes de minifiltre attachées à un volume donné, appelez la routine FltEnumerateInstanceInformationByVolume .
- Pour énumérer les instances de pilote de minifiltre pour un pilote ou un volume de minifiltre donné, appelez la routine FltEnumerateInstances .
- Pour énumérer tous les volumes du système, appelez la routine FltEnumerateVolumes .
- Pour obtenir un pointeur opaque pour le volume représenté par un objet de périphérique de volume (VDO) donné, appelez la routine FltGetVolumeFromDeviceObject .
- Pour obtenir un pointeur opaque pour le volume sur lequel réside un flux de fichiers donné, appelez la routine FltGetVolumeFromFileObject .
- Pour obtenir un pointeur opaque pour le volume auquel un pilote de minifiltre donné instance est attaché, appelez la routine FltGetVolumeFromInstance.
- Pour obtenir un pointeur opaque pour le volume dont le nom correspond à un nom de volume donné, appelez la routine FltGetVolumeFromName .
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Cette routine est disponible à partir de Windows Vista. |
Plateforme cible | Universal |
En-tête | fltkernel.h (inclure FltKernel.h) |
Bibliothèque | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |
Voir aussi
FILTER_VOLUME_BASIC_INFORMATION
FILTER_VOLUME_STANDARD_INFORMATION