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 |