다음을 통해 공유


IMAGE_ENCLAVE_CONFIG64 구조체(winnt.h)

64비트 Windows를 실행하는 시스템의 Enclave 구성 형식을 정의합니다.

문법

typedef struct _IMAGE_ENCLAVE_CONFIG64 {
  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;
  ULONGLONG EnclaveSize;
  DWORD     NumberOfThreads;
  DWORD     EnclaveFlags;
} IMAGE_ENCLAVE_CONFIG64, *PIMAGE_ENCLAVE_CONFIG64;

구성원

Size

IMAGE_ENCLAVE_CONFIG64 구조체의 크기(바이트)입니다.

MinimumRequiredConfigSize

enclave를 사용하려면 이미지 로더가 처리할 수 있어야 하는 IMAGE_ENCLAVE_CONFIG64 구조체의 최소 크기입니다. 이 멤버를 사용하면 enclave가 이전 버전의 이미지 로더에 이미지 로더를 안전하게 로드하고 이후 버전의 enclave에 대해 IMAGE_ENCLAVE_CONFIG64 추가된 선택적 멤버를 무시할 수 있음을 알릴 수 있습니다. 이미지 로더가 처리할 수 있는 IMAGE_ENCLAVE_CONFIG64 크기가 MinimumRequiredConfigSize보다 작으면 enclave를 안전하게 실행할 수 없습니다.

MinimumRequiredConfigSize가 0이면 enclave를 사용할 수 있도록 이미지 로더가 처리할 수 있어야 하는 IMAGE_ENCLAVE_CONFIG64 구조체의 최소 크기는 MinimumRequiredConfigSize 멤버를 통해 포함하는 구조체의 크기로 간주됩니다.

PolicyFlags

enclave에 대해 설정된 정책을 나타내는 플래그입니다. 이러한 플래그는 enclave가 디버깅을 허용하는지 여부와 enclave가 자체 메모리 공간을 사용하도록 제한되는지 여부를 나타내도록 설정할 수 있습니다.

가치 의미
0x00000000 enclave는 디버깅을 허용하지 않습니다.
IMAGE_ENCLAVE_POLICY_DEBUGGABLE
0x00000001
enclave는 디버깅을 허용합니다.
IMAGE_ENCLAVE_POLICY_STRICT_MEMORY
0x00000002
이 플래그는 enclave에 의한 액세스를 포함하는 프로세스의 주소 공간으로 제한합니다. 이 정책은 enclave의 모든 스레드에 적용됩니다. Enclave는 EnclaveCopyIntoEnclaveEnclaveCopyOutOfEnclave API를 사용하여 포함된 프로세스 메모리에 액세스해야 합니다.

메모:EnclaveRestrictContainingProcessAccess API를 호출하여 포함하는 프로세스의 주소 공간에 대한 액세스를 제한할 수도 있습니다. 이 API를 사용하여 런타임에 이 정책을 완화하고 포함하는 프로세스 메모리에 대한 액세스를 복원할 수도 있습니다.

NumberOfImports

ImportList 멤버가 가리키는 이미지 배열의 이미지 수입니다.

ImportList

enclave 이미지가 가져올 수 있는 이미지 배열의 상대 가상 주소로, 각 이미지에 대한 ID 정보가 포함됩니다.

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에서 기본 이미지로 사용하기에 적합한지 여부를 나타내는 플래그입니다.

가치 의미
0x00000000 이미지는 enclave의 기본 이미지로 사용하기에 적합하지 않습니다.
IMAGE_ENCLAVE_FLAG_PRIMARY_IMAGE
0x00000001
이미지는 enclave의 기본 이미지로 사용하기에 적합합니다.

비고

IMAGE_ENCLAVE_CONFIG 구조체는 64비트 Windows를 실행하는 시스템에서 IMAGE_ENCLAVE_CONFIG64 구조체의 다른 이름으로 정의됩니다.

요구 사항

요구 사항 가치
지원되는 최소 클라이언트 Windows 10 버전 1709 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2016 [데스크톱 앱만 해당]
헤더 winnt.h

참고하십시오

엔클레이브 구조체

IMAGE_ENCLAVE_CONFIG32

EnclaveCopyIntoEnclave

EnclaveCopyOutOfEnclave

EnclaveRestrictContainingProcessAccess