ZwSetQuotaInformationFile 関数 (ntifs.h)
ZwSetQuotaInformationFile ルーチンは、FileHandle パラメーターに関連付けられているボリュームのクォータ エントリを変更します。 指定したバッファー内のすべてのクォータ エントリがボリュームに適用されます。
構文
NTSYSAPI NTSTATUS ZwSetQuotaInformationFile(
[in] HANDLE FileHandle,
[out] PIO_STATUS_BLOCK IoStatusBlock,
[in] PVOID Buffer,
[in] ULONG Length
);
パラメーター
[in] FileHandle
クォータ情報を変更するファイルまたはボリュームを表すファイル オブジェクトのハンドル。
[out] IoStatusBlock
呼び出し元の I/O 状態ブロックのアドレス。
[in] Buffer
ボリュームに適用する必要がある新しいクォータ エントリを含むバッファー。 クォータ情報は、1 つ以上の FILE_QUOTA_INFORMATION 構造体として書式設定する必要があります。 FILE_QUOTA_INFORMATION構造体の NextEntryOffset フィールドには、リスト内の次のクォータ エントリのオフセット (バイト単位) が含まれています。 現在のエントリの後にエントリが存在しない場合、このメンバーは 0 になります。
[in] Length
バッファーの長さ (バイト単位)。
戻り値
ZwSetQuotaInformationFile ルーチンは、次のいずれかのSTATUS_SUCCESSまたは適切な NTSTATUS 値を返します。
リターン コード | 説明 |
---|---|
STATUS_INSUFFICIENT_RESOURCES | 操作を完了するためのリソースが不足していました。 これはエラー コードです。 |
STATUS_INVALID_DEVICE_REQUEST | ボリュームでクォータが有効になっていません。 これはエラー コードです。 |
STATUS_MEDIA_WRITE_PROTECTED | ボリュームは読み取り専用です。 これはエラー コードです。 |
注釈
ZwSetQuotaInformationFile ルーチンは、指定された Buffer パラメーター内のすべてのクォータ エントリをボリュームに適用します。
IoCheckQuotaBufferValidity 関数は、Buffer パラメーターとして渡された指定されたクォータ バッファーが有効かどうかをチェックできます。
ZwSetQuotaInformationFile を呼び出すと、ハンドルが FileHandle パラメーターに格納されているファイル オブジェクトに関連付けられているデバイス オブジェクトにIRP_MJ_SET_QUOTA要求が送信されます。
基になるファイル システムがクォータ情報 (FAT や CDFS ファイル システムなど) をサポートしていない場合、 ZwSetQuotaInformationFile はSTATUS_INVALID_DEVICE_REQUESTを返しません。
注意
ZwSetQuotaInformationFile 関数の呼び出しがユーザー モードで行われる場合は、"ZwSetQuotaInformationFile" ではなく"NtSetQuotaInformationFile" という名前を使用する必要があります。
カーネル モード ドライバーからの呼び出しの場合、Windows ネイティブ システム サービス ルーチンの NtXxx および ZwXxx バージョンは、入力パラメーターを処理および解釈する方法で動作が異なる場合があります。 ルーチンの NtXxx バージョンと ZwXxx バージョンの間の関係の詳細については、「ネイティブ システム サービス ルーチンの Nt バージョンと Zw バージョンの使用」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 7 |
対象プラットフォーム | ユニバーサル |
Header | ntifs.h (Ntifs.h、FltKernel.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI コンプライアンス規則 | HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm) |