Partager via


API Vertdll disponibles dans les enclaves VBS

Les enclaves sont utilisées pour créer des environnements d’exécution approuvés. Ces API Vertdll sont disponibles pour les développeurs dans les enclaves VBS.

Fonctions exportées par Vertdll.dll

Les API suivantes exportées par Vertdll.dll sont disponibles pour être appelées dans les enclaves VBS.

API En-tête Description
IsProcessorFeaturePresent processthreadsapi.h Détermine si la fonctionnalité de processeur spécifiée est prise en charge par l’ordinateur actuel.
LdrDisableThreadCalloutsForDll - Désactive l’attachement de thread et détache les légendes à une DLL.
NtTerminateProcess
Voir TerminateProcess
processthreadsapi.h Termine le processus spécifié et tous ses threads.
RtlCaptureContext winnt.h Récupère un enregistrement de contexte dans le contexte de l’appelant.
RtlGetLastNtStatus
Voir GetLastError
- Obtient la dernière valeur NTSTATUS.
RtlLookupFunctionEntry winnt.h Recherche dans les tables de fonctions actives une entrée qui correspond à la valeur PC spécifiée.
RtlPcToFileHeader winnt.h Récupère l’adresse de base de l’image qui contient la valeur PC spécifiée.
RtlRaiseStatus
Voir RaiseException
- Déclenche une exception, avec uniquement un paramètre dwExceptionCode. RtlRaiseStatus appelle RaiseException, en passant EXCEPTION_NONCONTINUABLE pour indiquer qu’une exception non continue a été rencontrée.
RtlTimeFieldsToTime wdm.h Convertit les informations TIME_FIELDS en valeur d’heure du système.
RtlUnhandledExceptionFilter
Voir UnhandledExceptionFilter
- Une fonction définie par l’application qui transmet des exceptions non prises en charge au débogueur, si le processus est débogué.
RtlUnwind winnt.h Lance un déroulement des frames d’appel de procédure.
RtlUnwindEx winnt.h Lance un déroulement des frames d’appel de procédure.
RtlVirtualUnwind winnt.h Récupère le contexte d’appel de la fonction qui précède le contexte de fonction spécifié.
RtlGetSystemGlobalData - Obtient l’adresse de la zone de données globale du système.
memcmp memory.h ou
string.h
Compare les caractères dans deux mémoires tampons.
memcpy memory.h ou
string.h
Copie des octets entre les mémoires tampon.
memmove string.h Déplace une mémoire tampon vers une autre.
memset memory.h ou
string.h
Définit une mémoire tampon sur un caractère spécifié.
OutputDebugStringW debugapi.h Envoie une chaîne au débogueur pour affichage.
CallEnclave enclaveapi.h Appelle une fonction dans une enclave.
EnclaveGetEnclaveInformation winenclaveapi.h Obtient des informations sur l’enclave en cours d’exécution.
GetCurrentProcess processthreadsapi.h Récupère un pseudo-descripteur pour le processus actuel.
TerminateEnclave enclaveapi.h Met fin à l’exécution des threads qui s’exécutent dans une enclave.
TerminateProcess processthreadsapi.h Termine le processus spécifié et tous ses threads.
GetLastError errhandlingapi.h Récupère la valeur du code de dernière erreur du thread appelant.
SetLastError errhandlingapi.h Définit le code de dernière erreur pour le thread appelant.
RaiseException errhandlingapi.h Déclenche une exception dans le thread appelant.
SetUnhandledExceptionFilter errhandlingapi.h Permet à une application de remplacer le gestionnaire d’exceptions de niveau supérieur de chaque thread d’un processus.
GetProcessHeap heapapi.h Récupère un descripteur dans le segment de mémoire par défaut du processus appelant.
GetProcessHeaps heapapi.h Retourne le nombre de segments de mémoire actifs et récupère les descripteurs à tous les segments de mémoire actifs pour le processus appelant.
HeapAlloc heapapi.h Alloue un bloc de mémoire d’un tas. La mémoire allouée n’est pas mobile.
HeapCompact heapapi.h Retourne la taille du bloc libre validé le plus grand dans le segment de mémoire spécifié.
HeapCreate heapapi.h Crée un objet de segment de mémoire privé qui peut être utilisé par le processus appelant.
HeapDestroy heapapi.h Détruit l’objet tas spécifié. Il désalloue et libère toutes les pages d’un objet de segment de mémoire privé, et invalide le descripteur dans le segment de mémoire.
HeapFree heapapi.h Libère un bloc de mémoire alloué à partir d’un segment de mémoire par la fonction HeapAlloc ou HeapReAlloc.
HeapLock heapapi.h Tente d’acquérir l’objet de section critique ou le verrou associé à un segment de mémoire spécifié.
HeapReAlloc heapapi.h Réalloue un bloc de mémoire d’un tas. Cette fonction vous permet de redimensionner un bloc de mémoire et de modifier d’autres propriétés de bloc de mémoire.
HeapSize heapapi.h Récupère la taille d’un bloc de mémoire alloué à partir d’un segment de mémoire par la fonction HeapAlloc ou HeapReAlloc.
HeapUnlock heapapi.h Libère la propriété de l’objet de section critique ou le verrou associé à un segment de mémoire spécifié. Elle inverse l’action de la fonction HeapLock.
InitializeSListHead interlockedapi.h Initialise la tête d’une liste liée unique.
InterlockedFlushSList interlockedapi.h Supprime tous les éléments d’une liste liée unique.
InterlockedPopEntrySList interlockedapi.h Supprime un élément du début d’une liste liée unique.
InterlockedPushEntrySList interlockedapi.h Insère un élément au début d’une liste liée unique.
InterlockedPushListSList interlockedapi.h Insère une liste liée unique au début d’une autre liste liée unique.
InterlockedPushListSListEx interlockedapi.h Insère une liste liée unique au début d’une autre liste liée unique.
QueryDepthSList interlockedapi.h Récupère le nombre d’entrées dans la liste liée unique spécifiée.
DisableThreadLibraryCalls libloaderapi.h Désactive les notifications DLL_THREAD_ATTACH et DLL_THREAD_DETACH pour la DLL spécifiée.
GetModuleHandleExW libloaderapi.h Récupère un descripteur de module pour le module spécifié et incrémente le nombre de références du module, sauf si GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT est spécifié.
GetProcAddress libloaderapi.h Récupère l’adresse d’une fonction ou d’une variable exportée à partir de la DLL spécifiée.
SetThreadStackGuarantee processthreadsapi.h Définit la taille minimale de la pile associée au thread ou à la fibre appelant qui sera disponible pendant les exceptions de dépassement de la capacité de la pile.
VirtualAlloc memoryapi.h Réserve, valide ou change l’état d’une région de pages dans l’espace d’adressage virtuel du processus appelant.
VirtualFree memoryapi.h Libère, désalloue ou libère et désalloue une région de pages dans l’espace d’adressage virtuel du processus appelant.
VirtualProtect memoryapi.h Change la protection sur une région de pages validées dans l’espace d’adressage virtuel du processus appelant.
VirtualQuery memoryapi.h Récupère des informations sur une plage de pages dans l’espace d’adressage virtuel du processus appelant.
AcquireSRWLockExclusive synchapi.h Acquiert un verrou de lecteur/enregistreur mince (SRW) en mode exclusif.
AcquireSRWLockShared synchapi.h Acquiert un verrou de lecteur/enregistreur mince (SRW) en mode partagé.
DeleteCriticalSection synchapi.h Libère toutes les ressources utilisées par un objet de section critique sans propriétaire.
DeleteSynchronizationBarrier synchapi.h Supprime une barrière de synchronisation.
EnterCriticalSection synchapi.h Attend la propriété de l’objet de section critique spécifié. La fonction retourne lorsque le thread appelant reçoit la propriété.
EnterSynchronizationBarrier synchapi.h Provoque l’attente du thread appelant à une barrière de synchronisation jusqu’à ce que le nombre maximum de threads soit entré dans la barrière.
InitializeConditionVariable synchapi.h Initialise une variable de condition.
InitializeCriticalSection synchapi.h Initialise un objet de section critique.
InitializeCriticalSectionAndSpinCount synchapi.h Initialise un objet de section critique et définit le nombre de tours pour la section critique.
InitializeCriticalSectionEx synchapi.h Initialise un objet de section critique avec un nombre de spins et des indicateurs facultatifs.
InitializeSRWLock synchapi.h Initialise un verrou de lecteur/enregistreur mince (SRW).
InitializeSynchronizationBarrier synchapi.h Initialise une nouvelle barrière de synchronisation.
LeaveCriticalSection synchapi.h Libère la propriété de l’objet de section critique spécifié.
ReleaseSRWLockExclusive synchapi.h Libère un verrou de lecteur/enregistreur mince (SRW) qui a été acquis en mode exclusif.
ReleaseSRWLockShared synchapi.h Libère un verrou de lecteur/enregistreur mince (SRW) qui a été acquis en mode partagé.
SetCriticalSectionSpinCount synchapi.h Définit le nombre de tours pour la section critique spécifiée.
SleepConditionVariableCS synchapi.h Veille sur la variable de condition spécifiée et libère la section critique spécifiée en tant qu’opération atomique.
SleepConditionVariableSRW synchapi.h Veille sur la variable de condition spécifiée et libère le verrou spécifié en tant qu’opération atomique.
TryAcquireSRWLockExclusive synchapi.h Tente d’acquérir un verrou de lecteur/enregistreur mince (SRW) en mode exclusif. Si l’appel réussit, le thread appelant prend possession du verrou.
TryAcquireSRWLockShared synchapi.h Tente d’acquérir un verrou de lecteur/enregistreur mince (SRW) en mode partagé. Si l’appel réussit, le thread appelant prend possession du verrou.
TryEnterCriticalSection synchapi.h Tente d’entrer dans une section critique sans bloquer. Si l’appel réussit, le thread appelant prend possession de la section critique.
WaitOnAddress synchapi.h Attend que la valeur à l’adresse spécifiée change.
WakeAllConditionVariable synchapi.h Réveille tous les threads en attente sur la variable de condition spécifiée.
WakeByAddressAll synchapi.h Réveille tous les threads qui attendent que la valeur d’une adresse change.
WakeByAddressSingle synchapi.h Réveille un thread qui attend que la valeur d’une adresse change.
WakeConditionVariable synchapi.h Réveille un thread unique en attente de la variable de condition spécifiée.
GetCurrentThread processthreadsapi.h Récupère un pseudo-descripteur pour le thread appelant.
GetCurrentThreadId processthreadsapi.h Récupère l’identificateur de thread du thread appelant.
TlsAlloc processthreadsapi.h Alloue un index de stockage local de thread (TLS).
TlsFree processthreadsapi.h Libère un index TLS, le rend disponible pour la réutilisation.
TlsGetValue processthreadsapi.h Récupère la valeur dans l’emplacement TLS du thread appelant pour l’index TLS spécifié.
TlsSetValue processthreadsapi.h Stocke une valeur dans l’emplacement TLS du thread appelant pour l’index TLS spécifié.
EnclaveGetAttestationReport winenclaveapi.h Obtient un rapport d’attestation d’enclave qui décrit l’enclave actuelle et est signé par l’autorité responsable du type de l’enclave.
EnclaveSealData winenclaveapi.h Génère un objet blob (binary large object) chiffré à partir de données non chiffrées.
EnclaveUnsealData winenclaveapi.h Déchiffre un objet blob (binary large object) chiffré.
EnclaveVerifyAttestationReport winenclaveapi.h Vérifie un rapport d’attestation généré sur le système actuel.
WideCharToMultiByte stringapiset.h Mappe une chaîne UTF-16 (caractère large) à une nouvelle chaîne de caractères.

Remarque : la seule page de codes disponible pour les enclaves VBS est CP_UTF8.
MultiByteToWideChar stringapiset.h Mappe une chaîne de caractères à une chaîne UTF-16 (caractère large).

Remarque : la seule page de codes disponible pour les enclaves VBS est CP_UTF8.
LdrResolveDelayLoadedAPI
Voir ResolveDelayLoadedAPI
- Recherche la fonction cible de l’importation spécifiée et remplace le pointeur de fonction dans le thunk d’importation par la cible de l’implémentation de la fonction.

Voir aussi