Compartir a través de


Función FltGetVolumeFromName (fltkernel.h)

La rutina FltGetVolumeFromName devuelve un puntero opaco para el volumen cuyo nombre coincide con el valor del parámetro VolumeName.

Sintaxis

NTSTATUS FLTAPI FltGetVolumeFromName(
  [in]  PFLT_FILTER      Filter,
  [in]  PCUNICODE_STRING VolumeName,
  [out] PFLT_VOLUME      *RetVolume
);

Parámetros

[in] Filter

Puntero de filtro opaco para el autor de la llamada. Este parámetro es necesario y no se puede null.

[in] VolumeName

Puntero a una estructura de UNICODE_STRING que contiene el nombre del volumen (por ejemplo, "\Device\HarddiskVolume1", "\DosDevices\D:", "\?? \D:", o "D:"). Este parámetro es necesario y no se puede null.

[out] RetVolume

Puntero a una variable asignada por el autor de la llamada que recibe un puntero opaco para el volumen. Este parámetro es necesario y no se puede null.

Valor devuelto

fltGetVolumeFromName devuelve STATUS_SUCCESS o un valor NTSTATUS adecuado, como uno de los siguientes:

Código devuelto Descripción
STATUS_ACCESS_DENIED El autor de la llamada no tenía FILE_READ_DATA acceso al volumen. Se trata de un código de error.
STATUS_FLT_DELETING_OBJECT El volumen se está descomponiéndose. Se trata de un código de error.
STATUS_INVALID_PARAMETER Se especificó un valor no válido para el parámetro VolumeName. Se trata de un código de error.
STATUS_FLT_VOLUME_NOT_FOUND No se encontró ningún volumen coincidente. Se trata de un código de error.

Observaciones

FltGetVolumeFromName busca en la lista global de volúmenes del Administrador de filtros de un volumen cuyo nombre coincida con VolumeName. El autor de la llamada debe tener acceso FILE_READ_DATA al volumen. Para buscar la estructura del volumen, FltGetVolumeFromName primero debe abrir el volumen.

FltGetVolumeFromName agrega una referencia de rundown al puntero de volumen opaco devuelto en el parámetro RetVolume de. Cuando este puntero ya no es necesario, el autor de la llamada debe liberarlo llamando a FltObjectDereference. Por lo tanto, todas las llamadas correctas a FltGetVolumeFromName deben coincidir con una llamada posterior a FltObjectDereference.

Para obtener el nombre del volumen de un volumen determinado, llame a FltGetVolumeName.

Para obtener el nombre del GUID de volumen de un volumen determinado, llame a FltGetVolumeGuidName.

Requisitos

Requisito Valor
de la plataforma de destino de Universal
encabezado de fltkernel.h (incluya Fltkernel.h)
biblioteca de FltMgr.lib
DLL de Fltmgr.sys
irQL PASSIVE_LEVEL

Consulte también

FltGetFilterFromName

FltGetVolumeGuidName

FltGetVolumeInstanceFromName

FltGetVolumeName

fltObjectDereference

UNICODE_STRING