Função NtQueryVolumeInformationFile (ntifs.h)

A rotina NtQueryVolumeInformationFile recupera informações sobre o volume associado a um determinado arquivo, diretório, dispositivo de armazenamento ou volume.

Sintaxe

__kernel_entry NTSYSCALLAPI NTSTATUS NtQueryVolumeInformationFile(
  [in]  HANDLE               FileHandle,
  [out] PIO_STATUS_BLOCK     IoStatusBlock,
  [out] PVOID                FsInformation,
  [in]  ULONG                Length,
  [in]  FS_INFORMATION_CLASS FsInformationClass
);

Parâmetros

[in] FileHandle

Um identificador para um objeto de arquivo retornado por NtCreateFile ou NtOpenFile para um arquivo aberto, diretório, dispositivo de armazenamento ou volume para o qual as informações de volume estão sendo solicitadas.

[out] IoStatusBlock

Um ponteiro para uma estrutura IO_STATUS_BLOCK 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

Tamanho em bytes do buffer apontado por FsInformation. O chamador deve definir esse parâmetro de acordo com o FsInformationClass especificado.

[in] FsInformationClass

Tipo de informação a ser retornada sobre o volume. Defina esse membro como um dos seguintes valores de enumeração FS_INFORMATION_CLASS .

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 NtQueryVolumeInformationFile.
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. Observe que isso não é o mesmo que o nome de volume exclusivo (baseado em GUID) atribuído pelo sistema operacional.
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

NtQueryVolumeInformationFile retorna STATUS_SUCCESS ou um erro apropriado status.

Comentários

NtQueryVolumeInformationFile recupera informações sobre o volume associado a um determinado arquivo, diretório, dispositivo de armazenamento ou volume.

Se o FileHandle representar um dispositivo direto aberto, somente FileFsDeviceInformation poderá ser especificado como o valor de FsInformationClass.

NtQueryVolumeInformationFile retorna zero em qualquer membro de uma estrutura FILE_XXX_INFORMATION que não é compatível com o sistema de arquivos.

Para obter informações sobre outras rotinas de consulta de informações de arquivo, consulte Objetos de arquivo.

Os minifiltros devem usar FltQueryVolumeInformationFile em vez de NtQueryVolumeInformationFile.

Os chamadores de NtQueryVolumeInformationFile devem estar em execução em IRQL = PASSIVE_LEVEL e com APCs de kernel especiais habilitadas.

Observação

Se a chamada para a função NtQueryVolumeInformationFile ocorrer no modo de usuário, você deverá usar o nome "NtQueryVolumeInformationFile" em vez de "ZwQueryVolumeInformationFile".

Para chamadas de drivers de modo kernel, as versões NtXxx e ZwXxx de uma rotina do Windows Native System Services podem se comportar de forma diferente na maneira como lidam e interpretam parâmetros de entrada. Para obter mais informações sobre a relação entre as versões NtXxx e ZwXxx de uma rotina, consulte Using Nt and Zw Versions of the Native System Services Routines.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP
Plataforma de Destino Universal
Cabeçalho ntifs.h (inclua Ntifs.h, Ntddk.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL (consulte a seção Comentários)
Regras de conformidade da DDI HwStorPortProhibitedDDIs, PowerIrpDDis

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_SIZE_INFORMATION

FILE_FS_VOLUME_INFORMATION

FltQueryVolumeInformationFile

IRP_MJ_QUERY_VOLUME_INFORMATION

IRP_MJ_SET_VOLUME_INFORMATION

Usando versões Nt e Zw das rotinas de serviços do sistema nativo

NtCreateFile

NtOpenFile

NtQueryDirectoryFile

NtQueryInformationFile

NtSetInformationFile

ZwSetVolumeInformationFile