CallEnclave 函数 (enclaveapi.h)

调用 enclave 中的函数。 还可以在 enclave 中调用 CallEnclave,以调用 enclave 外部的函数。

Syntax

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

要求

Requirement 价值
最低支持的客户端 Windows 10 版本 1709 [仅限桌面应用]
支持的最低服务器 Windows Server 2016 [仅限桌面应用]
目标平台 Windows操作系统
Header enclaveapi.h
Library Kernel32.lib
DLL Api-ms-win-core-enclave-l1-1-0.dll;Kernel32.dll;KernelBase.dll

另请参阅

Enclave 函数

TerminateEnclave

VBS enclave 中提供的 Vertdll API