NtQueryObject 関数 (ntifs.h)

NtQueryObject ルーチンは、指定されたオブジェクトに関する情報を提供します。

構文

__kernel_entry NTSYSCALLAPI NTSTATUS NtQueryObject(
  [in, optional]  HANDLE                   Handle,
  [in]            OBJECT_INFORMATION_CLASS ObjectInformationClass,
  [out, optional] PVOID                    ObjectInformation,
  [in]            ULONG                    ObjectInformationLength,
  [out, optional] PULONG                   ReturnLength
);

パラメーター

[in, optional] Handle

情報を取得するオブジェクトへのハンドル。

[in] ObjectInformationClass

ObjectInformationバッファーで返される情報の種類を決定するOBJECT_INFORMATION_CLASS値を指定します。

[out, optional] ObjectInformation

要求された情報を受信する呼び出し元によって割り当てられたバッファーへのポインター。

[in] ObjectInformationLength

ObjectInformation バッファーのサイズをバイト単位で指定します。

[out, optional] ReturnLength

要求されたキー情報のサイズ (バイト単位) を受け取る変数へのポインター。 NtQueryObject がSTATUS_SUCCESSを返す場合、変数には返されるデータの量が含まれます。 NtQueryObject がSTATUS_BUFFER_OVERFLOWまたはSTATUS_BUFFER_TOO_SMALLを返す場合は、変数の値を使用して、必要なバッファー サイズを決定できます。

戻り値

NtQueryObject は 、STATUS_SUCCESSまたは適切なエラー状態を返します。 考えられるエラー状態コードは次のとおりです。

リターン コード 説明
STATUS_ACCESS_DENIED このクエリを実行するためのアクセス許可が不十分でした。
STATUS_INVALID_HANDLE 指定されたオブジェクト ハンドルが無効です。
STATUS_INFO_LENGTH_MISMATCH 情報の長さは、データを保持するのに十分ではありません。

注釈

NtQueryObject 関数の呼び出しがユーザー モードで行われる場合は、"ZwQueryObject" ではなく "NtQueryObject" という名前を使用する必要があります。

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

要件

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

こちらもご覧ください

OBJECT_INFORMATION_CLASS

PUBLIC_OBJECT_BASIC_INFORMATION

PUBLIC_OBJECT_TYPE_INFORMATION