Freigeben über


CallEnclave-Funktion (enclaveapi.h)

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

Syntax

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

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 Enclavethread im Leerlauf verfügbar wird, wenn kein Leerlauf-Enclavethread verfügbar ist. FALSE , wenn beim Aufruf der angegebenen Funktion ein Fehler auftreten soll, wenn kein Enclave-Thread im Leerlauf verfügbar ist.

Dieser Parameter wird ignoriert, wenn Sie CallEnclave in einer Enclave verwenden, um eine Funktion aufzurufen, die sich nicht in einer Enclave 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. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 10, Version 1709 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2016 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile enclaveapi.h
Bibliothek Vertdll.lib
DLL Vertdll.dll; Api-ms-win-core-enclave-l1-1-0.dll

Weitere Informationen

Enclave-Funktionen

TerminateEnclave

In VBS-Enklaven verfügbare Vertdll-APIs