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 |