Função FltGetVolumeFromFileObject (fltkernel.h)

A rotina FltGetVolumeFromFileObject retorna um ponteiro opaco para o volume no qual um determinado fluxo de arquivo reside.

Sintaxe

NTSTATUS FLTAPI FltGetVolumeFromFileObject(
  [in]  PFLT_FILTER  Filter,
  [in]  PFILE_OBJECT FileObject,
  [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] FileObject

Ponteiro de objeto de arquivo para um fluxo de arquivos que reside no volume.

[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

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

Código de retorno Descrição
STATUS_FLT_DELETING_OBJECT
O volume está sendo dividido. Este é um código de erro.
STATUS_INVALID_PARAMETER
Nenhum volume correspondente foi encontrado. Este é um código de erro.

Comentários

FltGetVolumeFromFileObject 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 FltGetVolumeFromFileObject deve ser correspondida por uma chamada subsequente para FltObjectDereference.

Para obter um ponteiro para o objeto do dispositivo para um determinado volume, chame FltGetDeviceObject.

Requisitos

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

Confira também

FltGetDeviceObject

FltGetDiskDeviceObject

FltGetVolumeFromDeviceObject

FltObjectDereference