Função ZwSetQuotaInformationFile (ntifs.h)

A rotina ZwSetQuotaInformationFile 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

NTSYSAPI NTSTATUS ZwSetQuotaInformationFile(
  [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 E/S do chamador status.

[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 ZwSetQuotaInformationFile 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 ZwSetQuotaInformationFile 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 ZwSetQuotaInformationFile 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 oferecer suporte a informações de cota (sistemas de arquivos FAT e CDFS, por exemplo), ZwSetQuotaInformationFile falhará ao retornar STATUS_INVALID_DEVICE_REQUEST.

Observação

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

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(storport), PowerIrpDDis(wdm)

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

ZwQueryQuotaInformationFile