IMAGE_ENCLAVE_CONFIG32 structure (winnt.h)
Defines the format of the enclave configuration for systems running 32-bit Windows.
Syntax
typedef struct _IMAGE_ENCLAVE_CONFIG32 {
DWORD Size;
DWORD MinimumRequiredConfigSize;
DWORD PolicyFlags;
DWORD NumberOfImports;
DWORD ImportList;
DWORD ImportEntrySize;
BYTE FamilyID[IMAGE_ENCLAVE_SHORT_ID_LENGTH];
BYTE ImageID[IMAGE_ENCLAVE_SHORT_ID_LENGTH];
DWORD ImageVersion;
DWORD SecurityVersion;
DWORD EnclaveSize;
DWORD NumberOfThreads;
DWORD EnclaveFlags;
} IMAGE_ENCLAVE_CONFIG32, *PIMAGE_ENCLAVE_CONFIG32;
Members
Size
The size of the IMAGE_ENCLAVE_CONFIG32 structure, in bytes.
MinimumRequiredConfigSize
The minimum size of the IMAGE_ENCLAVE_CONFIG32 structure that the image loader must be able to process in order for the enclave to be usable. This member allows an enclave to inform an earlier version of the image loader that the image loader can safely load the enclave and ignore optional members added to IMAGE_ENCLAVE_CONFIG32 for later versions of the enclave. If the size of IMAGE_ENCLAVE_CONFIG32 that the image loader can process is less than MinimumRequiredConfigSize, the enclave cannot be run securely.
If MinimumRequiredConfigSize is zero, the minimum size of the IMAGE_ENCLAVE_CONFIG32 structure that the image loader must be able to process in order for the enclave to be usable is assumed to be the size of the structure through and including the MinimumRequiredConfigSize member.
PolicyFlags
A flag that indicates whether the enclave permits debugging.
Value | Meaning |
---|---|
IMAGE_ENCLAVE_POLICY_DEBUGGABLE0x00000001 |
The enclave permits debugging. |
0x00000000 |
The enclave does not permit debugging. |
NumberOfImports
The number of images in the array of images that the ImportList member points to.
ImportList
The relative virtual address of the array of images that the enclave image may import, with identity information for each image.
ImportEntrySize
The size of each image in the array of images that the ImportList member points to.
FamilyID[IMAGE_ENCLAVE_SHORT_ID_LENGTH]
The family identifier that the author of the enclave assigned to the enclave.
ImageID[IMAGE_ENCLAVE_SHORT_ID_LENGTH]
The image identifier that the author of the enclave assigned to the enclave.
ImageVersion
The version number that the author of the enclave assigned to the enclave.
SecurityVersion
The security version number that the author of the enclave assigned to the enclave.
EnclaveSize
The expected virtual size of the private address range for the enclave, in bytes.
NumberOfThreads
The maximum number of threads that can be created within the enclave.
EnclaveFlags
A flag that indicates whether the image is suitable for use as the primary image in the enclave.
Value | Meaning |
---|---|
IMAGE_ENCLAVE_FLAG_PRIMARY_IMAGE0x00000001 |
The image is suitable for use as the primary image in the enclave. |
0x00000000 |
The image is not suitable for use as the primary image in the enclave. |
Remarks
The IMAGE_ENCLAVE_CONFIG structure is defined as another name for the IMAGE_ENCLAVE_CONFIG32 structure on systems that run 32-bit Windows.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 10, version 1709 [desktop apps only] |
Minimum supported server | Windows Server 2016 [desktop apps only] |
Header | winnt.h |