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_DRIVER_PATH_INFORMATION
IRP_MJ_QUERY_VOLUME_INFORMATION
Usando versões Nt e Zw das rotinas de serviços do sistema nativo