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 obligatorio y no puede ser 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 obligatorio y no puede ser 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 obligatorio y no puede ser 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á derribando. 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.

Comentarios

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

FltGetVolumeFromName agrega una referencia de resumen al puntero de volumen opaco devuelto en el parámetro RetVolume . 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 Value
Plataforma de destino Universal
Encabezado fltkernel.h (incluya Fltkernel.h)
Library FltMgr.lib
Archivo DLL Fltmgr.sys
IRQL PASSIVE_LEVEL

Consulte también

FltGetFilterFromName

FltGetVolumeGuidName

FltGetVolumeInstanceFromName

FltGetVolumeName

FltObjectDereference

UNICODE_STRING