Función FltOpenVolume (fltkernel.h)
La rutina FltOpenVolume devuelve un identificador y un puntero de objeto de archivo para el volumen del sistema de archivos al que está asociada una instancia de controlador de minifiltro determinada.
Sintaxis
NTSTATUS FLTAPI FltOpenVolume(
[in] PFLT_INSTANCE Instance,
[out] PHANDLE VolumeHandle,
[out] PFILE_OBJECT *VolumeFileObject
);
Parámetros
[in] Instance
Puntero de instancia opaco para la instancia. Esta instancia debe asociarse a un volumen local.
[out] VolumeHandle
Identificador del volumen del sistema de archivos.
[out] VolumeFileObject
Puntero a una variable asignada por el autor de la llamada que recibe un puntero de objeto de archivo para el directorio raíz del volumen. Este parámetro es opcional y puede ser NULL.
Valor devuelto
FltOpenVolume devuelve STATUS_SUCCESS o un valor NTSTATUS adecuado, como el siguiente:
Código devuelto | Descripción |
---|---|
|
La instancia o el volumen se descomponen. Se trata de un código de error. |
|
La instancia está conectada a un volumen de red. Se trata de un código de error. |
Comentarios
Cuando el identificador devuelto en el parámetro VolumeHandle ya no es necesario, el autor de la llamada debe liberarlo llamando a FltClose. Por lo tanto, cada llamada correcta a FltOpenVolume debe coincidir con una llamada posterior a FltClose.
Si se devuelve un puntero de objeto de archivo en el parámetro VolumeFileObject , el autor de la llamada debe liberarlo cuando ya no sea necesario llamando a ObDereferenceObject.
La instancia especificada por el parámetro Instance debe asociarse a un volumen local. Si está conectado a un volumen de red, FltOpenVolume devuelve STATUS_INVALID_PARAMETER.
Para obtener un puntero al objeto de dispositivo de un volumen determinado, llame a FltGetDeviceObject.
Para obtener información detallada sobre el volumen al que está asociada una instancia determinada, llame a FltQueryVolumeInformation.
NOTA: No llame a esta rutina con un valor IRP de nivel superior distinto de NULL, ya que esto puede provocar un interbloqueo del sistema. Para determinar si el subproceso TopLevelIrp está establecido, llame a IoGetTopLevelIrp.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible en el paquete acumulativo de actualizaciones 1 de Microsoft Windows 2000 para SP4, Windows XP SP3, Windows Server 2003 SP1 y versiones posteriores del sistema operativo Windows. |
Plataforma de destino | Universal |
Encabezado | fltkernel.h (incluya Fltkernel.h) |
Library | FltMgr.lib |
Archivo DLL | Fltmgr.sys |
IRQL | PASSIVE_LEVEL |