IMAGE_ENCLAVE_CONFIG32 结构 (winnt.h)

为运行 32 位 Windows 的系统定义 enclave 配置的格式。

语法

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;

成员

Size

IMAGE_ENCLAVE_CONFIG32结构的大小(以字节为单位)。

MinimumRequiredConfigSize

图像加载程序必须能够处理的 IMAGE_ENCLAVE_CONFIG32 结构的最小大小,才能使 enclave 可用。 此成员允许 enclave 通知映像加载器的早期版本,映像加载程序可以安全地加载 enclave,并忽略添加到 IMAGE_ENCLAVE_CONFIG32 的可选成员,以便为更高版本的 enclave。 如果映像加载程序可以处理的 IMAGE_ENCLAVE_CONFIG32 的大小小于 MinimumRequiredConfigSize,则无法安全地运行 enclave。

如果 MinimumRequiredConfigSize 为零,则图像加载程序必须能够处理的 IMAGE_ENCLAVE_CONFIG32 结构的最小大小才能使 enclave 可用,假定为结构的大小,包括 MinimumRequiredConfigSize 成员。

PolicyFlags

一个标志,指示 enclave 是否允许调试。

含义
IMAGE_ENCLAVE_POLICY_DEBUGGABLE
0x00000001
enclave 允许调试。
0x00000000 enclave 不允许调试。

NumberOfImports

ImportList 成员指向的图像数组中的图像数。

ImportList

enclave 映像可以导入的映像数组的相对虚拟地址,以及每个映像的标识信息。

ImportEntrySize

ImportList 成员指向的图像数组中每个图像的大小。

FamilyID[IMAGE_ENCLAVE_SHORT_ID_LENGTH]

enclave 的作者分配给 enclave 的系列标识符。

ImageID[IMAGE_ENCLAVE_SHORT_ID_LENGTH]

enclave 的作者分配给 enclave 的图像标识符。

ImageVersion

enclave 的作者分配给 enclave 的版本号。

SecurityVersion

enclave 的作者分配给 enclave 的安全版本号。

EnclaveSize

enclave 专用地址范围的预期虚拟大小(以字节为单位)。

NumberOfThreads

可以在 enclave 中创建的最大线程数。

EnclaveFlags

一个标志,指示映像是否适合用作 enclave 中的主映像。

含义
IMAGE_ENCLAVE_FLAG_PRIMARY_IMAGE
0x00000001
该映像适合用作 enclave 中的主映像。
0x00000000 该映像不适合用作 enclave 中的主映像。

注解

IMAGE_ENCLAVE_CONFIG结构定义为运行 32 位 Windows 的系统上IMAGE_ENCLAVE_CONFIG32结构的另一个名称。

要求

要求
最低受支持的客户端 Windows 10版本 1709 [仅限桌面应用]
最低受支持的服务器 Windows Server 2016 [仅限桌面应用]
标头 winnt.h

另请参阅

Enclave 结构

IMAGE_ENCLAVE_CONFIG64