IMAGE_LOAD_CONFIG_DIRECTORY64 structure (winnt.h)
Contains the load configuration data of an image.
Syntax
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;
Members
Size
The size of the structure. For Windows XP, the size must be specified as 64 for x86 images.
TimeDateStamp
The date and time stamp value. The value is represented in the number of seconds elapsed since midnight (00:00:00), January 1, 1970, Universal Coordinated Time, according to the system clock. The time stamp can be printed using the C run-time (CRT) function ctime.
MajorVersion
The major version number.
MinorVersion
The minor version number.
GlobalFlagsClear
The global flags that control system behavior. For more information, see Gflags.exe.
GlobalFlagsSet
The global flags that control system behavior. For more information, see Gflags.exe.
CriticalSectionDefaultTimeout
The critical section default time-out value.
DeCommitFreeBlockThreshold
The size of the minimum block that must be freed before it is freed (de-committed), in bytes. This value is advisory.
DeCommitTotalFreeThreshold
The size of the minimum total memory that must be freed in the process heap before it is freed (de-committed), in bytes. This value is advisory.
LockPrefixTable
The VA of a list of addresses where the LOCK prefix is used. These will be replaced by NOP on single-processor systems. This member is available only for x86.
MaximumAllocationSize
The maximum allocation size, in bytes. This member is obsolete and is used only for debugging purposes.
VirtualMemoryThreshold
The maximum block size that can be allocated from heap segments, in bytes.
ProcessAffinityMask
The process affinity mask. For more information, see GetProcessAffinityMask. This member is available only for .exe files.
ProcessHeapFlags
The process heap flags. For more information, see HeapCreate.
CSDVersion
The service pack version.
DependentLoadFlags
The default load flags used when the operating system resolves the statically linked imports of a module. For more information, see LoadLibraryEx.
EditList
Reserved for use by the system.
SecurityCookie
A pointer to a cookie that is used by Visual C++ or GS implementation.
SEHandlerTable
The VA of the sorted table of RVAs of each valid, unique handler in the image. This member is available only for x86.
SEHandlerCount
The count of unique handlers in the table. This member is available only for 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
Remarks
If _WIN64 is defined, then IMAGE_LOAD_CONFIG_DIRECTORY is defined as IMAGE_LOAD_CONFIG_DIRECTORY64. However, if _WIN64 is not defined, then IMAGE_LOAD_CONFIG_DIRECTORY is defined as 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;
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows XP [desktop apps only] |
Minimum supported server | Windows Server 2003 [desktop apps only] |
Header | winnt.h (include Windows.h) |