FltGetVolumeInformation, fonction (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 être 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 par 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 être NULL.
[in] BufferSize
Taille, en octets, de la mémoire tampon vers laquelle pointe le paramètre tampon. L’appelant doit définir ce paramètre en fonction de la valeur InformationClass donnée. Ce paramètre est requis.
[out] BytesReturned
Pointeur vers une variable allouée par l’appelant qui reçoit le nombre d’octets retournés dans la mémoire tampon vers laquelle 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 être NULL.
Valeur de retour
FltGetVolumeInformation retourne STATUS_SUCCESS ou un code d’état NTSTATUS approprié, tel que l’un des éléments suivants :
Retourner le code | 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. |
|
Mémoire tampon pour laquelle le paramètre tampon pointe vers n’est pas suffisamment grand 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é par le pointeur de volume opaque, transmis par le paramètre Volume. Notez que l’appelant doit éventuellement libérer le pointeur de volume opaque en appelant la routine FltObjectDereference.
La routine FltGetVolumeInformation retourne des informations pour un seul volume. Toutefois, compte tenu d’une liste de pointeurs de volume opaques, la routine peut être utilisée de manière itérative pour créer une liste de structures d’informations de volume correspondantes. Dans une telle liste, il est possible que deux structures ou plus contiennent des noms de volumes 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 minifilter inscrits dans le système, appelez la routine FltEnumerateFilters.
- Pour obtenir des informations sur les instances de pilote minifilter attachées à un volume donné, appelez la routine FltEnumerateInstanceInformationByVolume.
- Pour énumérer les instances de pilote minifilter pour un pilote ou un volume minifilter 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 d’appareil de volume donné (VDO), 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 une instance de pilote minifilter donnée est attachée, 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.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Cette routine est disponible à partir de Windows Vista. |
plateforme cible | Universel |
d’en-tête | fltkernel.h (include FltKernel.h) |
bibliothèque | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |
Voir aussi
FILTER_VOLUME_BASIC_INFORMATION
FILTER_VOLUME_STANDARD_INFORMATION