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 |