NtQuerySection 関数

開いているセクション オブジェクトのベース アドレス、サイズ、許可されたアクセス権、割り当てを決定する機能を提供します。

構文

NTSTATUS NTAPI NtQuerySection (
    _In_ HANDLE SectionHandle,
    _In_ SECTION_INFORMATION_CLASS SectionInformationClass,
    _Out_writes_bytes_(SectionInformationLength) PVOID SectionInformation,
    _In_ SIZE_T SectionInformationLength,
    _Out_opt_ PSIZE_T ReturnLength
    )

パラメーター

SectionHandle [in]

セクション オブジェクトへの開いているハンドル。

SectionInformationClass [in]

情報を取得するセクション情報クラス。

SectionInformation [out]

指定した情報を受け取るバッファーへのポインター。 バッファーの形式と内容は、指定したセクション クラスによって異なります。

SectionInformationLength [in]

セクション情報バッファーの長さをバイト単位で指定します。

ReturnLength [out]

省略可能なポインター。指定されている場合は、セクション情報バッファーに配置されたバイト数を受け取ります。

戻り値

NTSTATUS コード。 詳細については、「 NTSTATUS 値の使用」を参照してください。

解説

この関数には、インポート ライブラリまたはヘッダー ファイルが関連付けされません。 LoadLibrary 関数と GetProcAddress 関数を使用して呼び出す必要があります。 API は、ntdll.dll からエクスポートされます。

SectionInformation パラメーターの型がPSECTION_BASIC_INFORMATION

typedef struct _SECTIONBASICINFO {
    PVOID BaseAddress;
    ULONG AllocationAttributes;
    LARGE_INTEGER MaximumSize;
} SECTION_BASIC_INFORMATION, *PSECTION_BASIC_INFORMATION;

PVOID BaseAddress

セクションがベースの場合は、セクションのベース仮想アドレス。

ULONG AllocationAttributes

割り当て属性フラグ。

フラグ 説明
SEC_BASED 0x200000 セクションはベースセクションです。
SEC_FILE 0x800000 セクションは、データ ファイルによってサポートされます。
SEC_RESERVE 0x4000000 セクションのすべてのページは、最初は予約状態に設定されていました。
SEC_COMMIT 0x8000000 セクションのすべてのページは、最初はコミット済み状態に設定されていました。
SEC_IMAGE 0x1000000 セクションは実行可能イメージ ファイルとしてマップされました。

LARGE_INTEGER MaximumSize

セクションの最大サイズ (バイト単位)。

必要条件

要件
[DLL] ntdll.dll