Freigeben über


CallEnclave-Funktion (enclaveapi.h)

Ruft eine Funktion in einer Enklave auf. CallEnclave kann auch innerhalb einer Enklave aufgerufen werden, um eine Funktion außerhalb der Enklave aufzurufen.

Syntax

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

Die Parameter

[in] lpRoutine

Die Adresse der Funktion, die Sie aufrufen möchten.

[in] lpParameter

Der Parameter, den Sie an die Funktion übergeben möchten.

[in] fWaitForThread

TRUE wenn der Aufruf der angegebenen Funktion die Ausführung blockieren soll, bis ein Enklaventhread im Leerlauf verfügbar ist, wenn kein Enklaventhread verfügbar ist. FALSE wenn der Aufruf der angegebenen Funktion fehlschlägt, wenn kein Enklaventhread im Leerlauf verfügbar ist.

Dieser Parameter wird ignoriert, wenn Sie CallEnclave innerhalb einer Enklave verwenden, um eine Funktion aufzurufen, die sich nicht in einer Enklave befindet.

[out] lpReturnValue

Der Rückgabewert der Funktion, wenn sie erfolgreich aufgerufen wird.

Rückgabewert

TRUE wenn die angegebene Funktion erfolgreich aufgerufen wurde; andernfalls FALSE. Rufen Sie GetLastErrorauf, um erweiterte Fehlerinformationen zu erhalten.

Anforderungen

Anforderung Wert
Mindestens unterstützter Client Windows 10, Version 1709 [nur Desktop-Apps]
Mindestanforderungen für unterstützte Server Windows Server 2016 [nur Desktop-Apps]
Zielplattform Fenster
Header enclaveapi.h
Library Kernel32.lib
DLL Api-ms-win-core-enclave-l1-1-0.dll; Kernel32.dll; KernelBase.dll

Siehe auch

Enklavenfunktionen

TerminateEnklave

In VBS-Enklaven verfügbare Vertdll-APIs