Compartilhar via


Função ZwQueryVolumeInformationFile (ntifs.h)

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

Sintaxe

NTSYSAPI NTSTATUS ZwQueryVolumeInformationFile(
  [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 ZwCreateFile ou ZwOpenFile 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 de do FsInformation é retornado no membro Information da estrutura.

[out] FsInformation

Um ponteiro para um buffer alocado por 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 oFsInformationClass determinado.

[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 de FILE_FS_ATTRIBUTE_INFORMATION que contém informações de atributo sobre o sistema de arquivos responsável pelo volume.
FileFsControlInformation Retornar uma estrutura de FILE_FS_CONTROL_INFORMATION que contém informações de controle do sistema de arquivos sobre o volume.
FileFsDeviceInformation Retornar uma estrutura de FILE_FS_DEVICE_INFORMATION que contém informações do dispositivo para o volume.
FileFsDriverPathInformation Retorne uma estrutura de 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 ZwQueryVolumeInformationFile.
FileFsFullSizeInformation Retorne uma estrutura de 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 de 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 Retorne uma estrutura de 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 de volume, o número de série e o tempo de criação.
FileFsSectorSizeInformation Retornar uma estrutura de FILE_FS_SECTOR_SIZE_INFORMATION que contém informações sobre os tamanhos do setor físico e lógico de um volume.

Valor de retorno

ZwQueryVolumeInformationFile retorna STATUS_SUCCESS ou um status de erro apropriado.

Observações

ZwQueryVolumeInformationFile 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.

ZwQueryVolumeInformationFile retorna zero em qualquer membro de uma estrutura de_INFORMATION XXX FILE_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 ZwQueryVolumeInformationFile .

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

Nota

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

Para chamadas de drivers no modo kernel, as versões NtXxx e Zwxxx versões de uma rotina dos Serviços de Sistema Nativo do Windows 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 Usando versões Nt e Zw das rotinas de serviços do sistema nativo.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows XP
da Plataforma de Destino Universal
cabeçalho ntifs.h (include Ntifs.h, Ntddk.h)
biblioteca NtosKrnl.lib
de DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL (consulte a seção Comentários)
regras de conformidade de DDI HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm)

Consulte 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

ZwCreateFile

ZwOpenFile

ZwQueryDirectoryFile

ZwQueryInformationFile

ZwSetInformationFile

ZwSetVolumeInformationFile