winnt.h) (IMAGE_LOAD_CONFIG_DIRECTORY64 结构

包含映像的加载配置数据。

语法

typedef struct _IMAGE_LOAD_CONFIG_DIRECTORY64 {
  DWORD                            Size;
  DWORD                            TimeDateStamp;
  WORD                             MajorVersion;
  WORD                             MinorVersion;
  DWORD                            GlobalFlagsClear;
  DWORD                            GlobalFlagsSet;
  DWORD                            CriticalSectionDefaultTimeout;
  ULONGLONG                        DeCommitFreeBlockThreshold;
  ULONGLONG                        DeCommitTotalFreeThreshold;
  ULONGLONG                        LockPrefixTable;
  ULONGLONG                        MaximumAllocationSize;
  ULONGLONG                        VirtualMemoryThreshold;
  ULONGLONG                        ProcessAffinityMask;
  DWORD                            ProcessHeapFlags;
  WORD                             CSDVersion;
  WORD                             DependentLoadFlags;
  ULONGLONG                        EditList;
  ULONGLONG                        SecurityCookie;
  ULONGLONG                        SEHandlerTable;
  ULONGLONG                        SEHandlerCount;
  ULONGLONG                        GuardCFCheckFunctionPointer;
  ULONGLONG                        GuardCFDispatchFunctionPointer;
  ULONGLONG                        GuardCFFunctionTable;
  ULONGLONG                        GuardCFFunctionCount;
  DWORD                            GuardFlags;
  IMAGE_LOAD_CONFIG_CODE_INTEGRITY CodeIntegrity;
  ULONGLONG                        GuardAddressTakenIatEntryTable;
  ULONGLONG                        GuardAddressTakenIatEntryCount;
  ULONGLONG                        GuardLongJumpTargetTable;
  ULONGLONG                        GuardLongJumpTargetCount;
  ULONGLONG                        DynamicValueRelocTable;
  ULONGLONG                        CHPEMetadataPointer;
  ULONGLONG                        GuardRFFailureRoutine;
  ULONGLONG                        GuardRFFailureRoutineFunctionPointer;
  DWORD                            DynamicValueRelocTableOffset;
  WORD                             DynamicValueRelocTableSection;
  WORD                             Reserved2;
  ULONGLONG                        GuardRFVerifyStackPointerFunctionPointer;
  DWORD                            HotPatchTableOffset;
  DWORD                            Reserved3;
  ULONGLONG                        EnclaveConfigurationPointer;
  ULONGLONG                        VolatileMetadataPointer;
  ULONGLONG                        GuardEHContinuationTable;
  ULONGLONG                        GuardEHContinuationCount;
  ULONGLONG                        GuardXFGCheckFunctionPointer;
  ULONGLONG                        GuardXFGDispatchFunctionPointer;
  ULONGLONG                        GuardXFGTableDispatchFunctionPointer;
  ULONGLONG                        CastGuardOsDeterminedFailureMode;
  ULONGLONG                        GuardMemcpyFunctionPointer;
} IMAGE_LOAD_CONFIG_DIRECTORY64, *PIMAGE_LOAD_CONFIG_DIRECTORY64;

成员

Size

结构的大小。 对于 Windows XP,必须将 x86 图像的大小指定为 64。

TimeDateStamp

日期和时间戳值。 根据系统时钟,该值以自 1970 年 1 月 1 日世界协调时间 00:00:00) 午夜 (经过的秒数表示。 可以使用 C 运行时 (CRT) 函数 ctime 打印时间戳。

MajorVersion

主版本号。

MinorVersion

次版本号。

GlobalFlagsClear

控制系统行为的全局标志。 有关详细信息,请参阅 Gflags.exe。

GlobalFlagsSet

控制系统行为的全局标志。 有关详细信息,请参阅 Gflags.exe。

CriticalSectionDefaultTimeout

关键节默认超时值。

DeCommitFreeBlockThreshold

在释放之前必须释放的最小块的大小, (取消提交的) (以字节为单位)。 此值为公告。

DeCommitTotalFreeThreshold

在释放进程堆之前必须释放的最小总内存的大小, (取消提交的) (以字节为单位)。 此值为公告。

LockPrefixTable

使用 LOCK 前缀的地址列表的 VA。 这些将替换为单处理器系统上的 NOP。 此成员仅适用于 x86。

MaximumAllocationSize

最大分配大小(以字节为单位)。 此成员已过时,仅用于调试目的。

VirtualMemoryThreshold

可从堆段分配的最大块大小(以字节为单位)。

ProcessAffinityMask

进程关联掩码。 有关详细信息,请参阅 GetProcessAffinityMask。 此成员仅适用于 .exe 文件。

ProcessHeapFlags

进程堆标志。 有关详细信息,请参阅 HeapCreate

CSDVersion

Service Pack 版本。

DependentLoadFlags

操作系统解析模块的静态链接导入时使用的默认加载标志。 有关详细信息,请参阅 LoadLibraryEx

EditList

保留供系统使用。

SecurityCookie

指向 Visual C++ 或 GS 实现使用的 Cookie 的指针。

SEHandlerTable

图像中每个有效且唯一的处理程序的已排序表的 VA。 此成员仅适用于 x86。

SEHandlerCount

表中唯一处理程序的计数。 此成员仅适用于 x86。

GuardCFCheckFunctionPointer

GuardCFDispatchFunctionPointer

GuardCFFunctionTable

GuardCFFunctionCount

GuardFlags

CodeIntegrity

GuardAddressTakenIatEntryTable

GuardAddressTakenIatEntryCount

GuardLongJumpTargetTable

GuardLongJumpTargetCount

DynamicValueRelocTable

CHPEMetadataPointer

GuardRFFailureRoutine

GuardRFFailureRoutineFunctionPointer

DynamicValueRelocTableOffset

DynamicValueRelocTableSection

Reserved2

GuardRFVerifyStackPointerFunctionPointer

HotPatchTableOffset

Reserved3

EnclaveConfigurationPointer

VolatileMetadataPointer

GuardEHContinuationTable

GuardEHContinuationCount

GuardXFGCheckFunctionPointer

GuardXFGDispatchFunctionPointer

GuardXFGTableDispatchFunctionPointer

CastGuardOsDeterminedFailureMode

GuardMemcpyFunctionPointer

注解

如果定义了 _WIN64 ,则 IMAGE_LOAD_CONFIG_DIRECTORY 定义为 IMAGE_LOAD_CONFIG_DIRECTORY64。 但是,如果未定义 _WIN64 ,则 IMAGE_LOAD_CONFIG_DIRECTORY 定义为 IMAGE_LOAD_CONFIG_DIRECTORY32

typedef struct {
    DWORD   Size;
    DWORD   TimeDateStamp;
    WORD    MajorVersion;
    WORD    MinorVersion;
    DWORD   GlobalFlagsClear;
    DWORD   GlobalFlagsSet;
    DWORD   CriticalSectionDefaultTimeout;
    DWORD   DeCommitFreeBlockThreshold;
    DWORD   DeCommitTotalFreeThreshold;
    DWORD   LockPrefixTable;            // VA
    DWORD   MaximumAllocationSize;
    DWORD   VirtualMemoryThreshold;
    DWORD   ProcessHeapFlags;
    DWORD   ProcessAffinityMask;
    WORD    CSDVersion;
    WORD    DependentLoadFlags;
    DWORD   EditList;                   // VA
    DWORD   SecurityCookie;             // VA
    DWORD   SEHandlerTable;             // VA
    DWORD   SEHandlerCount;
} IMAGE_LOAD_CONFIG_DIRECTORY32, *PIMAGE_LOAD_CONFIG_DIRECTORY32;

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
标头 winnt.h (包括 Windows.h)

另请参阅

GetImageConfigInformation

GetProcessAffinityMask

ImageHlp 结构

SetImageConfigInformation