Função NtQueryQuotaInformationFile (ntifs.h)

A rotina NtQueryQuotaInformationFile recupera entradas de cota associadas ao volume especificado pelo parâmetro FileHandle .

Sintaxe

__kernel_entry NTSYSCALLAPI NTSTATUS NtQueryQuotaInformationFile(
  [in]           HANDLE           FileHandle,
  [out]          PIO_STATUS_BLOCK IoStatusBlock,
  [out]          PVOID            Buffer,
  [in]           ULONG            Length,
  [in]           BOOLEAN          ReturnSingleEntry,
  [in, optional] PVOID            SidList,
  [in]           ULONG            SidListLength,
  [in, optional] PSID             StartSid,
  [in]           BOOLEAN          RestartScan
);

Parâmetros

[in] FileHandle

Um identificador para o objeto de arquivo que representa o arquivo ou volume para o qual as informações de cota são solicitadas.

[out] IoStatusBlock

O endereço do bloco de E/S do chamador status.

[out] Buffer

Um buffer para receber as informações de cota do volume. As informações de cota são formatadas como uma ou mais estruturas de FILE_QUOTA_INFORMATION . O campo NextEntryOffset na estrutura FILE_QUOTA_INFORMATION contém o deslocamento, em bytes, da próxima entrada de cota na lista. Se não houver mais entradas após a atual, esse membro será zero.

[in] Length

O tamanho em bytes do buffer.

[in] ReturnSingleEntry

Um valor booliano que indica se apenas uma única entrada deve ser retornada em vez de preencher o buffer com o maior número possível de entradas.

[in, optional] SidList

Uma lista opcional de SIDs cujas informações de cota devem ser retornadas. Cada entrada na lista é uma estrutura FILE_GET_QUOTA_INFORMATION . O campo NextEntryOffset na estrutura FILE_GET_QUOTA_INFORMATION contém o deslocamento, em bytes, da próxima entrada de cota na lista. Se não houver mais entradas após a atual, esse membro será zero.

[in] SidListLength

O comprimento em bytes da lista sid, se um tiver sido especificado.

[in, optional] StartSid

Um ponteiro opcional para o SID da entrada na qual começar a verificar as informações de cota. Esse parâmetro deverá ser definido se as informações retornadas forem iniciadas com uma entrada diferente do primeiro SID. Esse parâmetro será ignorado se um parâmetro SidList for especificado.

[in] RestartScan

Um valor booliano que indica se a verificação das informações de cota deve ser reiniciada desde o início. Defina esse parâmetro como TRUE se a verificação das informações de cota for iniciada na primeira entrada na lista de informações de cota do volume. Defina como FALSE se retomar a verificação de uma chamada anterior para NtQueryQuotaInformationFile. O chamador deve definir esse parâmetro como TRUE ao chamar NtQueryQuotaInformationFile pela primeira vez.

Retornar valor

A rotina NtQueryQuotaInformationFile retornará STATUS_SUCCESS se pelo menos uma estrutura FILE_QUOTA_INFORMATION for retornada no parâmetro Buffer ou um valor NTSTATUS apropriado, como um dos seguintes:

Código de retorno Descrição
STATUS_INSUFFICIENT_RESOURCES Não havia recursos suficientes para concluir a operação. Este é um código de erro.
STATUS_INVALID_DEVICE_REQUEST As cotas não estão habilitadas no volume. Este é um código de erro.
STATUS_INVALID_SID O parâmetro StartSid não continha um SID válido. Este é um código de erro.
STATUS_QUOTA_LIST_INCONSISTENT O parâmetro SidList não continha uma lista válida e corretamente formada. Este é um código de erro.

Comentários

A quantidade de informações retornadas por NtQueryQuotaInformationFile baseia-se no tamanho das informações de cota associadas ao volume, ao tamanho do buffer e se um conjunto específico de entradas foi solicitado.

Uma chamada para NtQueryQuotaInformationFile resultará em uma solicitação IRP_MJ_SET_QUOTA sendo enviada ao objeto de dispositivo associado ao objeto de arquivo cujo identificador está armazenado no parâmetro FileHandle .

Se o sistema de arquivos subjacente não oferecer suporte a informações de cota (sistemas de arquivos FAT e CDFS, por exemplo), NtQueryQuotaInformationFile falhará ao retornar STATUS_INVALID_DEVICE_REQUEST.

Observação

Se a chamada para a função NtQueryQuotaInformationFile ocorrer no modo kernel, você deverá usar o nome "ZwQueryQuotaInformationFile" em vez de "NtQueryQuotaInformationFile".

Para chamadas de drivers no modo kernel, as versões NtXxx e ZwXxx de uma rotina dos Serviços do 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 dos Serviços de Sistema Nativo.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7
Plataforma de Destino Universal
Cabeçalho ntifs.h (inclua Ntifs.h, FltKernel.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Regras de conformidade de DDI HwStorPortProhibitedDIs, PowerIrpDDis

Confira também

FILE_GET_QUOTA_INFORMATION

FILE_QUOTA_INFORMATION

IO_STATUS_BLOCK

IRP_MJ_QUERY_QUOTA

IRP_MJ_SET_QUOTA

IoCheckQuotaBufferValidity

Usando versões Nt e Zw das rotinas dos Serviços de Sistema Nativo

**NtSetQuotaInformationFile **