Поделиться через


Функция CallEnclave (enclaveapi.h)

Вызывает функцию в анклаве. CallEnclave также можно вызвать в анклаве для вызова функции за пределами анклава.

Синтаксис

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

Параметры

[in] lpRoutine

Адрес функции, которую требуется вызвать.

[in] lpParameter

Параметр, который требуется передать в функцию.

[in] fWaitForThread

TRUE Значение , если вызов указанной функции должен блокировать выполнение до тех пор, пока не будет доступен поток бездействующего анклава, если не будет доступен бездействующий поток анклава. FALSE Значение , если вызов указанной функции должен завершиться ошибкой, если недоступен простой поток анклава.

Этот параметр игнорируется при использовании CallEnclave в анклаве для вызова функции, которая не находится ни в одном анклавах.

[out] lpReturnValue

Возвращаемое значение функции, если она вызывается успешно.

Возвращаемое значение

TRUE Значение , если указанная функция была успешно вызвана; в противном случае FALSE. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Требования

Требование Значение
Минимальная версия клиента Windows 10 версии 1709 [только классические приложения]
Минимальная версия сервера Windows Server 2016 [только классические приложения]
Целевая платформа Windows
Header enclaveapi.h
Библиотека Vertdll.lib
DLL Vertdll.dll; Api-ms-win-core-enclave-l1-1-0.dll

См. также раздел

Функции анклава

TerminateEnclave

API-интерфейсы Vertdll, доступные в анклавах VBS