In VBS-Enklaven verfügbare Vertdll-APIs

Enklaven werden verwendet, um vertrauenswürdige Ausführungsumgebungen zu erstellen. Diese Vertdll-APIs stehen Entwicklern in VBS-Enklaven zur Verfügung.

Durch Vertdll.dll exportierte Funktionen

Die folgenden APIs, die von Vertdll.dll exportiert werden, sind für den Aufruf in VBS-Enklaven verfügbar.

API Header Beschreibung
IsProcessorFeaturePresent processthreadsapi.h Bestimmt, ob das angegebene Prozessorfeature vom aktuellen Computer unterstützt wird.
LdrDisableThreadCalloutsForDll - Deaktiviert die Threadanfügung und das Trennen von Aufrufen an eine DLL.
NtTerminateProcess
Siehe TerminateProcess
processthreadsapi.h Beendet den angegebenen Prozess und alle zugehörigen Threads.
RtlCaptureContext winnt.h Ruft einen Kontextdatensatz im Kontext des Aufrufers ab.
RtlGetLastNtStatus
Siehe GetLastError
- Ruft den letzten NTSTATUS-Wert ab.
RtlLookupFunctionEntry winnt.h Durchsucht die aktiven Funktionstabellen nach einem Eintrag, der dem angegebenen PC-Wert entspricht.
RtlPcToFileHeader winnt.h Ruft die Basisadresse des Images ab, das den angegebenen PC-Wert enthält.
RtlRaiseStatus
Siehe RaiseException
- Löst eine Ausnahme mit nur einem dwExceptionCode-Parameter aus. RtlRaiseStatus ruft RaiseException auf und übergibt EXCEPTION_NONCONTINUABLE, um anzugeben, dass eine nicht zusammenhängende Ausnahme aufgetreten ist.
RtlTimeFieldsToTime wdm.h Konvertiert TIME_FIELDS Informationen in einen Systemzeitwert.
RtlUnhandledExceptionFilter
Siehe UnhandledExceptionFilter
- Eine anwendungsdefinierte Funktion, die unbehandelte Ausnahmen an den Debugger übergibt, wenn der Prozess gedebuggt wird.
RtlUnwind winnt.h Initiiert eine Abwicklung von Prozeduraufrufframes.
RtlUnwindEx winnt.h Initiiert eine Abwicklung von Prozeduraufrufframes.
RtlVirtualUnwind winnt.h Ruft den Aufrufkontext der Funktion ab, die dem angegebenen Funktionskontext vorangestellt ist.
RtlGetSystemGlobalData - Ruft die Adresse des globalen Datenbereichs des Systems ab.
memcmp memory.h oder
string.h
Vergleicht Zeichen in zwei Puffern.
memcpy memory.h oder
string.h
Kopiert Bytes zwischen Puffern.
memmove string.h Verschiebt einen Puffer in einen anderen.
memset memory.h oder
string.h
Legt einen Puffer auf ein angegebenes Zeichen fest.
OutputDebugStringW debugapi.h Sendet eine Zeichenfolge zur Anzeige an den Debugger.
CallEnclave enclaveapi.h Ruft eine Funktion in einer Enklave auf.
EnclaveGetEnclaveInformation winenclaveapi.h Ruft Informationen über die derzeit ausgeführte Enklave ab.
GetCurrentProcess processthreadsapi.h Ruft ein Pseudohandle für den aktuellen Prozess ab.
TerminateEnclave enclaveapi.h Beendet die Ausführung der Threads, die in einer Enklave ausgeführt werden.
TerminateProcess processthreadsapi.h Beendet den angegebenen Prozess und alle zugehörigen Threads.
GetLastError errhandlingapi.h Ruft den Codewert des letzten Fehlers des aufrufenden Threads ab.
SetLastError errhandlingapi.h Legt den Letzten Fehlercode für den aufrufenden Thread fest.
RaiseException errhandlingapi.h Löst eine Ausnahme im aufrufenden Thread aus.
SetUnhandledExceptionFilter errhandlingapi.h Ermöglicht einer Anwendung, den Ausnahmehandler der obersten Ebene jedes Threads und Prozesses zu ersetzen.
GetProcessHeap heapapi.h Stellt ein Handle zum Standard-Heap des aufrufenden Prozesses wieder her.
GetProcessHeaps heapapi.h Gibt die Anzahl der aktiven Heaps zurück und ruft Handles für alle aktiven Heaps für den Aufrufvorgang ab.
HeapAlloc heapapi.h Ordnet einen Speicherblock aus einem Heap zu. Der zugewiesene Speicher ist nicht verschiebbar.
HeapCompact heapapi.h Gibt die Größe des größten zugesicherten freien Blocks im angegebenen Heap zurück.
HeapCreate heapapi.h Erstellt ein privates Heap-Objekt, das vom aufrufenden Prozess verwendet werden kann.
HeapDestroy heapapi.h Zerstört das angegebene Heap-Objekt. Es entfernt alle Seiten eines privaten Heapobjekts und gibt sie frei, und der Handle wird für den Heap ungültig.
HeapFree heapapi.h Gibt einen Speicherblock frei, der einem Heap durch die HeapAlloc- oder HeapReAlloc-Funktion zugewiesen wurde.
HeapLock heapapi.h Versucht, das kritische Abschnittsobjekt oder die Sperre abzurufen, die einem angegebenen Heap zugeordnet ist.
HeapReAlloc heapapi.h Ordnet einen Speicherblock aus einem Heap neu zu. Mit dieser Funktion können Sie die Größe eines Speicherblocks ändern und andere Speicherblockeigenschaften ändern.
HeapSize heapapi.h Ruft die Größe eines Speicherblocks ab, der einem Heap durch die HeapAlloc- oder HeapReAlloc-Funktion zugewiesen wurde.
HeapUnlock heapapi.h Gibt den Besitz des kritischen Abschnittsobjekts oder der Sperre frei, die einem angegebenen Heap zugeordnet ist. Die Aktion der HeapLock-Funktion wird umgekehrt.
InitializeSListHead interlockedapi.h Initialisiert den Kopf einer einfach verknüpften Liste.
InterlockedFlushSList interlockedapi.h Entfernt alle Elemente aus einer einfach verknüpften Liste.
InterlockedPopEntrySList interlockedapi.h Entfernt ein Element aus der Vorderseite einer einfach verknüpften Liste.
InterlockedPushEntrySList interlockedapi.h Fügt ein Element an der Vorderseite einer einfach verknüpften Liste ein.
InterlockedPushListSList interlockedapi.h Fügt eine einfach verknüpfte Liste an der Vorderseite einer anderen verknüpften Liste ein.
InterlockedPushListSListEx interlockedapi.h Fügt eine einfach verknüpfte Liste an der Vorderseite einer anderen verknüpften Liste ein.
QueryDepthSList interlockedapi.h Ruft die Anzahl der Einträge in der angegebenen verknüpften Liste ab.
DisableThreadLibraryCalls libloaderapi.h Deaktiviert die DLL_THREAD_ATTACH und DLL_THREAD_DETACH-Benachrichtigungen für die angegebene DLL.
GetModuleHandleExW libloaderapi.h Ruft ein Modulhandle für das angegebene Modul ab und erhöht die Referenzanzahl des Moduls, es sei denn , GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT ist angegeben.
GetProcAddress libloaderapi.h Ruft die Adresse einer exportierten Funktion oder Variable aus der angegebenen DLL ab.
SetThreadStackGuarantee processthreadsapi.h Legt die Mindestgröße des Stapels fest, der dem aufrufenden Thread oder der Faser zugeordnet ist, die bei allen Stapelüberlaufausnahmen verfügbar ist.
VirtualAlloc memoryapi.h Reserviert, committet oder ändert den Status eines Seitenbereichs im virtuellen Adressraum des aufrufenden Prozesses.
VirtualFree memoryapi.h Gibt frei, decommittet oder gibt frei und decommittet einen Bereich von Seiten innerhalb des virtuellen Adressraums des aufrufenden Prozesses.
VirtualProtect memoryapi.h Ändert den Schutz in einem Bereich committeter Seiten im virtuellen Adressraum des aufrufenden Prozesses.
VirtualQuery memoryapi.h Ruft Informationen zu einem Seitenbereich im virtuellen Adressraum des aufrufenden Prozesses ab.
AcquireSRWLockExclusive synchapi.h Erwirbt eine Slim Reader/Writer (SRW)-Sperre im exklusiven Modus.
AcquireSRWLockShared synchapi.h Erwirbt eine schlanke Lese-/Schreibzugriffssperre (SRW) im gemeinsam genutzten Modus.
DeleteCriticalSection synchapi.h Gibt alle Ressourcen frei, die von einem nicht zugeordneten kritischen Abschnittsobjekt verwendet werden.
DeleteSynchronizationBarrier synchapi.h Löscht eine Synchronisierungsbarriere.
EnterCriticalSection synchapi.h Wartet auf den Besitz des angegebenen kritischen Abschnittsobjekts. Die Funktion gibt zurück, wenn dem aufrufenden Thread der Besitz gewährt wird.
EnterSynchronizationBarrier synchapi.h Bewirkt, dass der aufrufende Thread bei einer Synchronisierungsbarriere wartet, bis die maximale Anzahl von Threads in die Barriere eingegangen sind.
InitializeConditionVariable synchapi.h Initialisiert eine Bedingungsvariable.
InitializeCriticalSection synchapi.h Initialisiert ein kritisches Abschnittsobjekt.
InitializeCriticalSectionAndSpinCount synchapi.h Initialisiert ein kritisches Abschnittsobjekt und legt die Drehzahl für den kritischen Abschnitt fest.
InitializeCriticalSectionEx synchapi.h Initialisiert ein kritisches Abschnittsobjekt mit einer Drehzahl und optionalen Flags.
InitializeSRWLock synchapi.h Initialisieren Sie eine Slim Reader/Writer (SRW)-Sperre.
InitializeSynchronizationBarrier synchapi.h Initialisiert eine neue Synchronisierungsbarriere.
LeaveCriticalSection synchapi.h Gibt den Besitz des angegebenen kritischen Abschnittsobjekts frei.
ReleaseSRWLockExclusive synchapi.h Gibt eine schlanke Lese-/Schreibsperre (SRW) frei, die im exklusiven Modus erworben wurde.
ReleaseSRWLockShared synchapi.h Gibt eine schlanke Lese-/Schreibsperre (SRW) frei, die im freigegebenen Modus erworben wurde.
SetCriticalSectionSpinCount synchapi.h Legt die Drehzahl für den angegebenen kritischen Abschnitt fest.
SleepConditionVariableCS synchapi.h Schläft auf der angegebenen Bedingungsvariable und gibt den angegebenen kritischen Abschnitt als Atomoperation frei.
SleepConditionVariableSRW synchapi.h Schläft auf der angegebenen Bedingungsvariable und gibt die angegebene Sperre als Atomoperation frei.
TryAcquireSRWLockExclusive synchapi.h Versucht, eine schlanke Lese-/Schreibzugriffssperre (SRW) im exklusiven Modus zu erwerben. Wenn der Aufruf erfolgreich ist, übernimmt der aufrufende Thread den Besitz der Sperre.
TryAcquireSRWLockShared synchapi.h Versucht, eine schlanke Lese-/Schreibzugriffssperre (SRW) im gemeinsam genutzten Modus zu erwerben. Wenn der Aufruf erfolgreich ist, übernimmt der aufrufende Thread den Besitz der Sperre.
TryEnterCriticalSection synchapi.h Versucht, einen kritischen Abschnitt ohne Blockierung einzugeben. Wenn der Aufruf erfolgreich ist, übernimmt der aufrufende Thread den Besitz des kritischen Abschnitts.
WaitOnAddress synchapi.h Wartet auf den Wert an der angegebenen Adresse, die geändert werden soll.
WakeAllConditionVariable synchapi.h Alle Threads, die auf die angegebene Bedingungsvariable warten, aktivieren.
WakeByAddressAll synchapi.h Aktiviert alle Threads, die auf den Wert einer Adresse warten, die geändert werden soll.
WakeByAddressSingle synchapi.h Aktiviert alle Threads, die auf den Wert einer Adresse warten, die geändert werden soll.
WakeConditionVariable synchapi.h Aktiviert einen einzelnen Thread, der auf die angegebene Bedingungsvariable wartet.
GetCurrentThread processthreadsapi.h Ruft ein Pseudohandle für den aufrufenden Thread ab.
GetCurrentThreadId processthreadsapi.h Ruft den Threadbezeichner des aufrufenden Threads ab.
TlsAlloc processthreadsapi.h Weist einen TLS-Index (Thread Local Storage) zu.
TlsFree processthreadsapi.h Gibt einen TLS-Index frei, sodass er für die Wiederverwendung verfügbar ist.
TlsGetValue processthreadsapi.h Ruft den Wert im TLS-Slot des aufrufenden Threads für den angegebenen TLS-Index ab.
TlsSetValue processthreadsapi.h Speichert einen Wert im TLS-Slot des aufrufenden Threads für den angegebenen TLS-Index.
EnclaveGetAttestationReport winenclaveapi.h Ruft einen Enklavennachweisbericht ab, der die aktuelle Enklave beschreibt und von der Behörde signiert wird, die für den Typ der Enklave verantwortlich ist.
EnclaveSealData winenclaveapi.h Generiert ein verschlüsseltes Binary Large Object (BLOB) aus unverschlüsselten Daten.
EnclaveUnsealData winenclaveapi.h Entschlüsselt ein verschlüsseltes binär großes Objekt (BLOB).
EnclaveVerifyAttestationReport winenclaveapi.h Überprüft einen Nachweisbericht, der auf dem aktuellen System generiert wurde.
WideCharToMultiByte stringapiset.h Ordnet eine UTF-16-Zeichenfolge (breite Zeichen) einer neuen Zeichenfolge zu.
MultiByteToWideChar stringapiset.h Ordnet eine Zeichenfolge einer UTF-16-Zeichenfolge (Breite Zeichen) zu.
LdrResolveDelayLoadedAPI
Siehe ResolveDelayLoadedAPI
- Sucht die Zielfunktion des angegebenen Imports und ersetzt den Funktionszeiger im Import-Thunk durch das Ziel der Funktionsimplementierung.

Siehe auch