Compartilhar via


Função FltGetVolumeFromName (fltkernel.h)

A rotina FltGetVolumeFromName retorna um ponteiro opaco para o volume cujo nome corresponde ao valor do parâmetro VolumeName .

Sintaxe

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

Parâmetros

[in] Filter

Ponteiro de filtro opaco para o chamador. Esse parâmetro é necessário e não pode ser NULL.

[in] VolumeName

Ponteiro para uma estrutura UNICODE_STRING que contém o nome do volume (por exemplo, "\Device\HarddiskVolume1", "\DosDevices\D:", "\?? \D:", ou "D:"). Esse parâmetro é necessário e não pode ser NULL.

[out] RetVolume

Ponteiro para uma variável alocada pelo chamador que recebe um ponteiro opaco para o volume. Esse parâmetro é necessário e não pode ser NULL.

Retornar valor

FltGetVolumeFromName retorna STATUS_SUCCESS ou um valor NTSTATUS apropriado, como um dos seguintes:

Código de retorno Descrição
STATUS_ACCESS_DENIED O chamador não tinha acesso FILE_READ_DATA ao volume. Este é um código de erro.
STATUS_FLT_DELETING_OBJECT O volume está sendo derrubado. Este é um código de erro.
STATUS_INVALID_PARAMETER Um valor inválido foi especificado para o parâmetro VolumeName . Este é um código de erro.
STATUS_FLT_VOLUME_NOT_FOUND Nenhum volume correspondente foi encontrado. Este é um código de erro.

Comentários

FltGetVolumeFromName pesquisa a lista global de volumes do Gerenciador de Filtros para um volume cujo nome corresponde a VolumeName. O chamador deve ter FILE_READ_DATA acesso ao volume. Para localizar a estrutura do volume, FltGetVolumeFromName deve primeiro abrir o volume.

FltGetVolumeFromName adiciona uma referência de rundown ao ponteiro de volume opaco retornado no parâmetro RetVolume . Quando esse ponteiro não for mais necessário, o chamador deverá liberá-lo chamando FltObjectDereference. Portanto, cada chamada bem-sucedida para FltGetVolumeFromName deve ser correspondida por uma chamada subsequente para FltObjectDereference.

Para obter o nome do volume de um determinado volume, chame FltGetVolumeName.

Para obter o nome GUID do volume de um determinado volume, chame FltGetVolumeGuidName.

Requisitos

Requisito Valor
Plataforma de Destino Universal
Cabeçalho fltkernel.h (inclua Fltkernel.h)
Biblioteca FltMgr.lib
DLL Fltmgr.sys
IRQL PASSIVE_LEVEL

Confira também

FltGetFilterFromName

FltGetVolumeGuidName

FltGetVolumeInstanceFromName

FltGetVolumeName

FltObjectDereference

UNICODE_STRING