Função FltQueryVolumeInformation (fltkernel.h)

A rotina FltQueryVolumeInformation recupera informações sobre o volume ao qual a instância determinada está anexada.

Sintaxe

NTSTATUS FLTAPI FltQueryVolumeInformation(
  [in]  PFLT_INSTANCE        Instance,
  [out] PIO_STATUS_BLOCK     Iosb,
  [out] PVOID                FsInformation,
  [in]  ULONG                Length,
  [in]  FS_INFORMATION_CLASS FsInformationClass
);

Parâmetros

[in] Instance

Um ponteiro de instância opaco para uma instância de driver de minifiltro anexada ao volume.

[out] Iosb

Um ponteiro para a estrutura de IO_STATUS_BLOCK alocada pelo chamador que recebe o status de conclusão final e informações sobre a operação de consulta. Para chamadas bem-sucedidas que retornam dados, o número de bytes gravados no buffer FsInformation é retornado no membro Information da estrutura.

[out] FsInformation

Um ponteiro para um buffer alocado pelo chamador que recebe as informações desejadas sobre o volume. A estrutura das informações retornadas no buffer é definida pelo parâmetro FsInformationClass .

[in] Length

O tamanho em bytes do buffer para o qual FsInformation aponta. O chamador deve definir esse parâmetro de acordo com o FsInformationClass especificado. Por exemplo, se o valor de FsInformationClass for FileFsControlInformation, Length deverá ser pelo menos sizeof(FILE_FS_CONTROL_INFORMATION).

[in] FsInformationClass

O tipo de informação solicitada. Um dos valores a seguir.

Valor Significado
FileFsAttributeInformation
Retornar uma estrutura FILE_FS_ATTRIBUTE_INFORMATION que contém informações de atributo sobre o sistema de arquivos responsável pelo volume.
FileFsControlInformation
Retornar uma estrutura FILE_FS_CONTROL_INFORMATION que contém informações de controle do sistema de arquivos sobre o volume.
FileFsDeviceInformation
Retornar uma estrutura FILE_FS_DEVICE_INFORMATION que contém informações do dispositivo para o volume.
FileFsDriverPathInformation
Retornar uma estrutura FILE_FS_DRIVER_PATH_INFORMATION que contém informações sobre se um driver especificado está no caminho de E/S para o volume. O chamador deve armazenar o nome do driver na estrutura FILE_FS_DRIVER_PATH_INFORMATION antes de chamar FltQueryVolumeInformation.
FileFsFullSizeInformation
Retornar uma estrutura FILE_FS_FULL_SIZE_INFORMATION que contém informações sobre a quantidade total de espaço disponível no volume.
FileFsObjectIdInformation
Retornar uma estrutura FILE_FS_OBJECTID_INFORMATION que contém informações de ID de objeto específicas do sistema de arquivos para o volume. Lembre-se de que isso não é o mesmo que o nome de volume exclusivo (baseado em GUID) atribuído pelo sistema operacional.
Nota Esse valor não é válido para volumes instantâneo.
 
FileFsSizeInformation
Retornar uma estrutura FILE_FS_SIZE_INFORMATION que contém informações sobre a quantidade de espaço no volume que está disponível para o usuário associado ao thread de chamada.
FileFsVolumeInformation
Retornar um FILE_FS_VOLUME_INFORMATION que contém informações sobre o volume, como o rótulo do volume, o número de série e o tempo de criação.
FileFsSectorSizeInformation
Retornar uma estrutura FILE_FS_SECTOR_SIZE_INFORMATION que contém informações sobre os tamanhos de setor físico e lógico de um volume.

Retornar valor

A rotina FltQueryVolumeInformation retorna STATUS_SUCCESS ou um valor NTSTATUS apropriado, como um dos seguintes:

Código de retorno Descrição
STATUS_INSUFFICIENT_RESOURCES

FltQueryVolumeInformation encontrou uma falha de alocação de pool. Este é um código de erro.

STATUS_INVALID_INFO_CLASS
Um valor inválido foi especificado para FsInformationClass. Este é um código de erro.
STATUS_INVALID_PARAMETER
A Instância é anexada a um volume de rede. FltQueryVolumeInformation não pode ser usado para consultar informações de volume de rede. Este é um código de erro.

Comentários

Os campos na estrutura FILE_XXX_INFORMATION que não são compatíveis com o sistema de arquivos subjacente são definidos como zero.

Para alterar informações sobre um volume, chame FltSetVolumeInformation.

Para obter informações de propriedade de volume para o volume especificado, chame FltGetVolumeProperties.

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
Cliente mínimo com suporte Disponível e com suporte no Pacote Cumulativo de Atualizações 1 do Microsoft Windows 2000 para SP4, Windows XP com Service Pack 2 (SP2), Windows Server 2003 SP1 e sistemas operacionais Windows posteriores. Não disponível ou com suporte no Windows 2000 SP4 e em sistemas operacionais Windows anteriores.
Plataforma de Destino Universal
Cabeçalho fltkernel.h (inclua FltKernel.h)
Biblioteca FltMgr.lib
DLL Fltmgr.sys
IRQL PASSIVE_LEVEL

Confira também

FILE_FS_ATTRIBUTE_INFORMATION

FILE_FS_CONTROL_INFORMATION

FILE_FS_DEVICE_INFORMATION

FILE_FS_DRIVER_PATH_INFORMATION

FILE_FS_FULL_SIZE_INFORMATION

FILE_FS_OBJECTID_INFORMATION

FILE_FS_SECTOR_SIZE_INFORMATION

FILE_FS_SIZE_INFORMATION

FILE_FS_VOLUME_INFORMATION

FltGetVolumeGuidName

FltGetVolumeName

FltGetVolumeProperties

FltSetVolumeInformation