Função NtSetQuotaInformationFile (ntifs.h)

A rotina NtSetQuotaInformationFile altera as entradas de cota para o volume associado ao parâmetro FileHandle . Todas as entradas de cota no buffer especificado são aplicadas ao volume.

Sintaxe

__kernel_entry NTSYSCALLAPI NTSTATUS NtSetQuotaInformationFile(
  [in]  HANDLE           FileHandle,
  [out] PIO_STATUS_BLOCK IoStatusBlock,
  [in]  PVOID            Buffer,
  [in]  ULONG            Length
);

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 devem ser modificadas.

[out] IoStatusBlock

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

[in] Buffer

Um buffer que contém as novas entradas de cota que devem ser aplicadas ao volume. As informações de cota devem ser formatadas como uma ou mais estruturas 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.

Retornar valor

A rotina NtSetQuotaInformationFile retorna STATUS_SUCCESS 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_MEDIA_WRITE_PROTECTED O volume é somente leitura. Este é um código de erro.

Comentários

A rotina NtSetQuotaInformationFile aplica todas as entradas de cota no parâmetro Buffer especificado ao volume.

A função IoCheckQuotaBufferValidity pode marcar se o buffer de cota especificado passado como o parâmetro Buffer é válido.

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

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

Observação

Se a chamada para a função NtSetQuotaInformationFile ocorrer no modo kernel, você deverá usar o nome "[ZwSetQuotaInformationFile](nf-ntifs-zwsetquotainformationfile.md" em vez de "NtSetQuotaInformationFile".

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 7
Plataforma de Destino Universal
Cabeçalho ntifs.h (include Ntifs.h, FltKernel.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Regras de conformidade da DDI HwStorPortProhibitedDDIs, 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 de serviços do sistema nativo

NtQueryQuotaInformationFile