Función ZwSetQuotaInformationFile (ntifs.h)

La rutina ZwSetQuotaInformationFile cambia las entradas de cuota del volumen asociado al parámetro FileHandle . Todas las entradas de cuota del búfer especificado se aplican al volumen.

Sintaxis

NTSYSAPI NTSTATUS ZwSetQuotaInformationFile(
  [in]  HANDLE           FileHandle,
  [out] PIO_STATUS_BLOCK IoStatusBlock,
  [in]  PVOID            Buffer,
  [in]  ULONG            Length
);

Parámetros

[in] FileHandle

Identificador del objeto de archivo que representa el archivo o volumen para el que se va a modificar la información de cuota.

[out] IoStatusBlock

Dirección del bloque de estado de E/S del autor de la llamada.

[in] Buffer

Búfer que contiene las nuevas entradas de cuota que se deben aplicar al volumen. La información de cuota debe tener el formato de una o varias estructuras de FILE_QUOTA_INFORMATION . El campo NextEntryOffset de la estructura FILE_QUOTA_INFORMATION contiene el desplazamiento, en bytes, de la siguiente entrada de cuota de la lista. Si no hay más entradas después de la actual, este miembro es cero.

[in] Length

Longitud, en bytes, del búfer.

Valor devuelto

La rutina ZwSetQuotaInformationFile devuelve STATUS_SUCCESS o un valor NTSTATUS adecuado, como uno de los siguientes:

Código devuelto Descripción
STATUS_INSUFFICIENT_RESOURCES No había recursos suficientes para completar la operación. Se trata de un código de error.
STATUS_INVALID_DEVICE_REQUEST Las cuotas no están habilitadas en el volumen. Se trata de un código de error.
STATUS_MEDIA_WRITE_PROTECTED El volumen es de solo lectura. Se trata de un código de error.

Comentarios

La rutina ZwSetQuotaInformationFile aplica todas las entradas de cuota del parámetro Buffer especificado al volumen.

La función IoCheckQuotaBufferValidity puede comprobar si el búfer de cuota especificado pasado como parámetro Buffer es válido.

Una llamada a ZwSetQuotaInformationFile dará como resultado una solicitud de IRP_MJ_SET_QUOTA que se envía al objeto de dispositivo asociado al objeto de archivo cuyo identificador se almacena en el parámetro FileHandle .

Si el sistema de archivos subyacente no admite información de cuota (sistemas de archivos FAT y CDFS, por ejemplo), ZwSetQuotaInformationFile no devolverá STATUS_INVALID_DEVICE_REQUEST.

Nota

Si la llamada a la función ZwSetQuotaInformationFile se produce en modo de usuario, debe usar el nombre "NtSetQuotaInformationFile" en lugar de "ZwSetQuotaInformationFile".

En el caso de las llamadas desde controladores en modo kernel, las versiones NtXxx y ZwXxx de una rutina de Windows Native System Services pueden comportarse de forma diferente en la forma en que controlan e interpretan los parámetros de entrada. Para obtener más información sobre la relación entre las versiones NtXxx y ZwXxx de una rutina, vea Using Nt and Zw Versions of the Native System Services Routines.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 7
Plataforma de destino Universal
Encabezado ntifs.h (incluya Ntifs.h, FltKernel.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Reglas de cumplimiento de DDI HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm)

Consulte también

FILE_GET_QUOTA_INFORMATION

FILE_QUOTA_INFORMATION

IO_STATUS_BLOCK

IRP_MJ_QUERY_QUOTA

IRP_MJ_SET_QUOTA

IoCheckQuotaBufferValidity

Uso de las versiones Nt y Zw de las rutinas nativas de System Services

ZwQueryQuotaInformationFile