다음을 통해 공유


CallEnclave 함수(enclaveapi.h)

enclave 내에서 함수를 호출합니다. Enclave 내에서 CallEnclave 를 호출하여 enclave 외부의 함수를 호출할 수도 있습니다.

구문

BOOL CallEnclave(
  [in]  LPENCLAVE_ROUTINE lpRoutine,
  [in]  LPVOID            lpParameter,
  [in]  BOOL              fWaitForThread,
  [out] LPVOID            *lpReturnValue
);

매개 변수

[in] lpRoutine

호출하려는 함수의 주소입니다.

[in] lpParameter

함수에 전달하려는 매개 변수입니다.

[in] fWaitForThread

TRUE 유휴 Enclave 스레드를 사용할 수 없을 때 유휴 Enclave 스레드를 사용할 수 있을 때까지 지정된 함수에 대한 호출이 실행을 차단해야 하는 경우 입니다. FALSE 유휴 Enclave 스레드를 사용할 수 없을 때 지정된 함수에 대한 호출이 실패하면 입니다.

Enclave 내에서 CallEnclave 를 사용하여 Enclave에 없는 함수를 호출하는 경우 이 매개 변수는 무시됩니다.

[out] lpReturnValue

함수가 성공적으로 호출되면 함수의 반환 값입니다.

반환 값

TRUE 지정된 함수가 성공적으로 호출되었으면 이고, 그렇지 않으면 FALSE입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 10 버전 1709 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2016 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 enclaveapi.h
라이브러리 Vertdll.lib
DLL Vertdll.dll; Api-ms-win-core-enclave-l1-1-0.dll

추가 정보

Enclave 함수

TerminateEnclave

VBS Enclave에서 사용할 수 있는 Vertdll API