Compartilhar via


Função FltGetVolumeFromFileObject (fltkernel.h)

A rotina FltGetVolumeFromFileObject retorna um ponteiro opaco para o volume em que um determinado fluxo de arquivos 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 do objeto de arquivo para um fluxo de arquivo que reside no volume.

[out] RetVolume

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

Valor de retorno

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 derrubado. Este é um código de erro.
STATUS_INVALID_PARAMETER
Nenhum volume correspondente foi encontrado. Este é um código de erro.

Observações

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
da Plataforma de Destino Universal
cabeçalho fltkernel.h (inclua Fltkernel.h)
biblioteca FltMgr.lib
de DLL Fltmgr.sys
IRQL <= APC_LEVEL

Consulte também

FltGetDeviceObject

FltGetDiskDeviceObject

FltGetVolumeFromDeviceObject

FltObjectDereference