NtQueryQuotaInformationFile 関数 (ntifs.h)

NtQueryQuotaInformationFile ルーチンは、FileHandle パラメーターで指定されたボリュームに関連付けられているクォータ エントリを取得します。

構文

__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
);

パラメーター

[in] FileHandle

クォータ情報が要求されるファイルまたはボリュームを表すファイル オブジェクトのハンドル。

[out] IoStatusBlock

呼び出し元の I/O 状態ブロックのアドレス。

[out] Buffer

ボリュームのクォータ情報を受信するバッファー。 クォータ情報は、1 つ以上の FILE_QUOTA_INFORMATION 構造体として書式設定されます。 FILE_QUOTA_INFORMATION構造体の NextEntryOffset フィールドには、リスト内の次のクォータ エントリのオフセット (バイト単位) が含まれます。 現在のエントリの後にこれ以上エントリがない場合、このメンバーは 0 になります。

[in] Length

バッファーの長さ (バイト単位)。

[in] ReturnSingleEntry

バッファーにできるだけ多くのエントリを入力するのではなく、1 つのエントリのみを返す必要があるかどうかを示すブール値。

[in, optional] SidList

クォータ情報が返される SID の省略可能な一覧。 リスト内の各エントリは 、FILE_GET_QUOTA_INFORMATION 構造です。 FILE_GET_QUOTA_INFORMATION構造体の NextEntryOffset フィールドには、リスト内の次のクォータ エントリのオフセット (バイト単位) が含まれます。 現在のエントリの後にこれ以上エントリがない場合、このメンバーは 0 になります。

[in] SidListLength

SID リストの長さ (バイト単位)。

[in, optional] StartSid

クォータ情報のスキャンを開始するエントリの SID への省略可能なポインター。 返される情報が最初の SID 以外のエントリで始まる場合は、このパラメーターを設定する必要があります。 SidList パラメーターが指定されている場合、このパラメーターは無視されます。

[in] RestartScan

クォータ情報のスキャンを最初から再開するかどうかを示すブール値。 クォータ情報のスキャンがボリュームのクォータ情報リストの最初のエントリから開始される場合は、このパラメーターを TRUE に 設定します。 以前の NtQueryQuotaInformationFile の呼び出しからスキャンを再開する場合は FALSE に設定します。 NtQueryQuotaInformationFile を初めて呼び出す場合、呼び出し元はこのパラメーターを TRUE に設定する必要があります。

戻り値

なくとも 1 つのFILE_QUOTA_INFORMATION構造体が Buffer パラメーターで返された場合、または次のいずれかの適切な NTSTATUS 値が返された場合、NtQueryQuotaInformationFile ルーチンはSTATUS_SUCCESSを返します。

リターン コード 説明
STATUS_INSUFFICIENT_RESOURCES 操作を完了するためのリソースが不足していました。 これはエラー コードです。
STATUS_INVALID_DEVICE_REQUEST クォータはボリュームで有効になっていません。 これはエラー コードです。
STATUS_INVALID_SID StartSid パラメーターに有効な SID が含まれていませんでした。 これはエラー コードです。
STATUS_QUOTA_LIST_INCONSISTENT SidList パラメーターに、正しい形式の有効なリストが含まれていませんでした。 これはエラー コードです。

注釈

NtQueryQuotaInformationFile によって返される情報の量は、ボリュームに関連付けられているクォータ情報のサイズ、バッファーのサイズ、および特定のエントリ セットが要求されているかどうかに基づきます。

NtQueryQuotaInformationFile を呼び出すと、ハンドルが FileHandle パラメーターに格納されているファイル オブジェクトに関連付けられているデバイス オブジェクトにIRP_MJ_SET_QUOTA要求が送信されます。

基になるファイル システムがクォータ情報 (FAT ファイル システムや CDFS ファイル システムなど) をサポートしていない場合、 NtQueryQuotaInformationFile はSTATUS_INVALID_DEVICE_REQUESTを返しません。

注意

NtQueryQuotaInformationFile 関数の呼び出しがカーネル モードで発生する場合は、"NtQueryQuotaInformationFile" ではなく"ZwQueryQuotaInformationFile" という名前を使用する必要があります。

カーネル モード ドライバーからの呼び出しの場合、Windows ネイティブ システム サービス ルーチンの NtXxx および ZwXxx バージョンは、入力パラメーターを処理および解釈する方法で動作が異なります。 ルーチンの NtXxx バージョンと ZwXxx バージョン間の関係の詳細については、「Using Nt and Zw Versions of the Native System Services Routines」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 7
対象プラットフォーム ユニバーサル
Header ntifs.h (Ntifs.h、FltKernel.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI コンプライアンス規則 HwStorPortProhibitedDIs、PowerIrpDDis

こちらもご覧ください

FILE_GET_QUOTA_INFORMATION

FILE_QUOTA_INFORMATION

IO_STATUS_BLOCK

IRP_MJ_QUERY_QUOTA

IRP_MJ_SET_QUOTA

IoCheckQuotaBufferValidity

Nt および Zw バージョンのネイティブ システム サービス ルーチンの使用

**NtSetQuotaInformationFile **