FltOpenVolume, fonction (fltkernel.h)
La routine FltOpenVolume retourne un handle et un pointeur d’objet de fichier pour le volume du système de fichiers auquel une instance de pilote minifilter donnée est attachée.
NTSTATUS FLTAPI FltOpenVolume(
[in] PFLT_INSTANCE Instance,
[out] PHANDLE VolumeHandle,
[out] PFILE_OBJECT *VolumeFileObject
);
[in] Instance
Pointeur d’instance opaque pour l’instance. Cette instance doit être attachée à un volume local.
[out] VolumeHandle
Handle pour le volume du système de fichiers.
[out] VolumeFileObject
Pointeur vers une variable allouée par l’appelant qui reçoit un pointeur d’objet de fichier pour le répertoire racine du volume. Ce paramètre est facultatif et peut être NULL.
FltOpenVolume retourne STATUS_SUCCESS ou une valeur NTSTATUS appropriée, par exemple :
Retourner le code | Description |
---|---|
|
L’instance ou le volume est détruit. Il s’agit d’un code d’erreur. |
|
L’instance est attachée à un volume réseau. Il s’agit d’un code d’erreur. |
Lorsque le handle retourné dans le paramètre VolumeHandle n’est plus nécessaire, l’appelant doit le libérer en appelant FltClose. Ainsi, chaque appel réussi à FltOpenVolume doit être mis en correspondance par un appel ultérieur à FltClose.
Si un pointeur d’objet de fichier est retourné dans le paramètre VolumeFileObject, l’appelant doit le libérer lorsqu’il n’est plus nécessaire en appelant ObDereferenceObject.
L’instance spécifiée par le paramètre Instance doit être attachée à un volume local. S’il est attaché à un volume réseau, FltOpenVolume retourne STATUS_INVALID_PARAMETER.
Pour obtenir un pointeur vers l’objet d’appareil pour un volume donné, appelez FltGetDeviceObject.
Pour obtenir des informations détaillées sur le volume auquel une instance donnée est attachée, appelez FltQueryVolumeInformation.
REMARQUE : N’appelez pas cette routine avec une valeur IRP de niveau supérieur non NULL, car cela peut entraîner un blocage système. Pour déterminer si le thread TopLevelIrp est défini sur l’appel IoGetTopLevelIrp.
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible dans microsoft Windows 2000 Update Rollup 1 pour SP4, Windows XP SP3, Windows Server 2003 SP1 et versions ultérieures du système d’exploitation Windows. |
plateforme cible | Universel |
d’en-tête | fltkernel.h (include Fltkernel.h) |
bibliothèque | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | PASSIVE_LEVEL |