API Vertdll disponibili nelle enclave VBS
Le enclave vengono usate per creare ambienti di esecuzione attendibili. Queste API Vertdll sono disponibili per gli sviluppatori in enclave VBS.
Funzioni esportate da Vertdll.dll
Le API seguenti esportate da Vertdll.dll sono disponibili per essere chiamate in enclave VBS.
API | Intestazione | Descrizione |
---|---|---|
IsProcessorFeaturePresent | processthreadsapi.h | Determina se la funzionalità del processore specificata è supportata dal computer corrente. |
LdrDisableThreadCalloutsForDll | - | Disabilita il collegamento del thread e scollega i callout a una DLL. |
NtTerminateProcess Vedere TerminateProcess |
processthreadsapi.h | Termina il processo specificato e tutti i relativi thread. |
RtlCaptureContext | winnt.h | Recupera un record di contesto nel contesto del chiamante. |
RtlGetLastNtStatus Vedere GetLastError |
- | Ottiene l'ultimo valore NTSTATUS. |
RtlLookupFunctionEntry | winnt.h | Cerca nelle tabelle delle funzioni attive una voce corrispondente al valore pc specificato. |
RtlPcToFileHeader | winnt.h | Recupera l'indirizzo di base dell'immagine che contiene il valore del PC specificato. |
RtlRaiseStatus Vedere RaiseException |
- | Genera un'eccezione, con solo un parametro dwExceptionCode . RtlRaiseStatus richiama RaiseException, passando EXCEPTION_NONCONTINUABLE per indicare che è stata rilevata un'eccezione non contigua. |
RtlTimeFieldsToTime | wdm.h | Converte TIME_FIELDS informazioni in un valore di ora di sistema. |
RtlUnhandledExceptionFilter Vedere UnhandledExceptionFilter |
- | Funzione definita dall'applicazione che passa eccezioni non gestite al debugger, se il processo viene sottoposto a debug. |
RtlUnwind | winnt.h | Avvia una rimozione dei fotogrammi di chiamata di routine. |
RtlUnwindEx | winnt.h | Avvia una rimozione dei fotogrammi di chiamata di routine. |
RtlVirtualUnwind | winnt.h | Recupera il contesto di chiamata della funzione che precede il contesto di funzione specificato. |
RtlGetSystemGlobalData | - | Ottiene l'indirizzo dell'area dati globale del sistema. |
memcmp | memory.h o string.h |
Confronta i caratteri in due buffer. |
memcpy | memory.h o string.h |
Copia i byte tra i buffer. |
memmove | string.h | Sposta un buffer in un altro. |
memset | memory.h o string.h |
Imposta un buffer su un carattere specificato. |
OutputDebugStringW | debugapi.h | Invia una stringa al debugger per la visualizzazione. |
CallEnclave | enclaveapi.h | Chiama una funzione all'interno di un enclave. |
EnclaveGetEnclaveInformation | winenclaveapi.h | Ottiene informazioni sull'enclave attualmente in esecuzione. |
GetCurrentProcess | processthreadsapi.h | Recupera uno pseudo handle per il processo corrente. |
TerminateEnclave | enclaveapi.h | Termina l'esecuzione dei thread in esecuzione all'interno di un enclave. |
TerminateProcess | processthreadsapi.h | Termina il processo specificato e tutti i relativi thread. |
GetLastError | errhandlingapi.h | Recupera il valore dell'ultimo codice di errore del thread chiamante. |
SetLastError | errhandlingapi.h | Imposta l'ultimo codice di errore per il thread chiamante. |
RaiseException | errhandlingapi.h | Genera un'eccezione nel thread chiamante. |
SetUnhandledExceptionFilter | errhandlingapi.h | Consente a un'applicazione di sostituire il gestore di eccezioni di primo livello di ogni thread di un processo. |
GetProcessHeap | heapapi.h | Recupera un handle nell'heap predefinito del processo chiamante. |
GetProcessHeaps | heapapi.h | Restituisce il numero di heap attivi e recupera gli handle in tutti gli heap attivi per il processo chiamante. |
HeapAlloc | heapapi.h | Alloca un blocco di memoria da un heap. La memoria allocata non è mobile. |
HeapCompact | heapapi.h | Restituisce le dimensioni del blocco gratuito commit più grande nell'heap specificato. |
HeapCreare | heapapi.h | Crea un oggetto heap privato che può essere utilizzato dal processo chiamante. |
HeapDestroy | heapapi.h | Elimina definitivamente l'oggetto heap specificato. Rimuove e rilascia tutte le pagine di un oggetto heap privato e invalida l'handle nell'heap. |
HeapFree | heapapi.h | Libera un blocco di memoria allocato da un heap dalla funzione HeapAlloc o HeapReAlloc . |
HeapLock | heapapi.h | Tenta di acquisire l'oggetto sezione critica o il blocco associato a un heap specificato. |
HeapReAlloc | heapapi.h | Rialloca un blocco di memoria da un heap. Questa funzione consente di ridimensionare un blocco di memoria e modificare altre proprietà del blocco di memoria. |
HeapSize | heapapi.h | Recupera le dimensioni di un blocco di memoria allocato da un heap dalla funzione HeapAlloc o HeapReAlloc. |
HeapUnlock | heapapi.h | Rilascia la proprietà dell'oggetto sezione critica o del blocco associato a un heap specificato. Inverte l'azione della funzione HeapLock . |
InitializeSListHead | interlockedapi.h | Inizializza l'intestazione di un elenco collegato cantamente. |
InterlockedFlushSList | interlockedapi.h | Rimuove tutti gli elementi da un elenco collegato singly. |
InterlockedPopEntrySList | interlockedapi.h | Rimuove un elemento dalla parte anteriore di un elenco collegato cantamente. |
InterlockedPushEntrySList | interlockedapi.h | Inserisce un elemento nella parte anteriore di un elenco collegato cantamente. |
InterlockedPushListSList | interlockedapi.h | Inserisce un elenco collegato singly all'inizio di un altro elenco collegato. |
InterlockedPushListSListEx | interlockedapi.h | Inserisce un elenco collegato singly all'inizio di un altro elenco collegato. |
QueryDepthSList | interlockedapi.h | Recupera il numero di voci nell'elenco collegato specificato. |
DisableThreadLibraryCalls | libloaderapi.h | Disabilita le notifiche DLL_THREAD_ATTACH e DLL_THREAD_DETACH per la DLL specificata. |
GetModuleHandleExW | libloaderapi.h | Recupera un handle di modulo per il modulo specificato e incrementa il numero di riferimenti del modulo, a meno che non venga specificato GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT . |
GetProcAddress | libloaderapi.h | Recupera l'indirizzo di una funzione o di una variabile esportata dalla DLL specificata. |
SetThreadStackGuarantee | processthreadsapi.h | Imposta le dimensioni minime dello stack associato al thread o alla fibra chiamante che saranno disponibili durante qualsiasi eccezione di overflow dello stack. |
VirtualAlloc | memoryapi.h | Riserva, commit o modifica lo stato di un'area di pagine nello spazio degli indirizzi virtuali del processo chiamante. |
VirtualFree | memoryapi.h | Rilascia, decommette o rilascia e decommette un'area di pagine all'interno dello spazio degli indirizzi virtuali del processo chiamante. |
VirtualProtect | memoryapi.h | Modifica la protezione in un'area di pagine di cui è stato eseguito il commit nello spazio degli indirizzi virtuali del processo chiamante. |
VirtualQuery | memoryapi.h | Recupera informazioni su un intervallo di pagine nello spazio degli indirizzi virtuali del processo chiamante. |
AcquireSRWLockExclusive | synchapi.h | Acquisisce un blocco di lettura/scrittura sottile (SRW) in modalità esclusiva. |
AcquireSRWLockShared | synchapi.h | Acquisisce un blocco di lettura/scrittura sottile (SRW) in modalità condivisa. |
DeleteCriticalSection | synchapi.h | Rilascia tutte le risorse usate da un oggetto sezione critica non generato. |
DeleteSynchronizationBarrier | synchapi.h | Elimina una barriera di sincronizzazione. |
EnterCriticalSection | synchapi.h | Attende la proprietà dell'oggetto sezione critica specificato. La funzione restituisce quando al thread chiamante viene concessa la proprietà. |
EnterSynchronizationBarrier | synchapi.h | Fa sì che il thread chiamante attenda una barriera di sincronizzazione fino a quando il numero massimo di thread non è entrato nella barriera. |
InitializeConditionVariable | synchapi.h | Inizializza una variabile di condizione. |
InitializeCriticalSection | synchapi.h | Inizializza un oggetto sezione critica. |
InitializeCriticalSectionAndSpinCount | synchapi.h | Inizializza un oggetto sezione critica e imposta il numero di rotazioni per la sezione critica. |
InitializeCriticalSectionEx | synchapi.h | Inizializza un oggetto sezione critica con un conteggio di rotazioni e flag facoltativi. |
InitializeSRWLock | synchapi.h | Inizializzare un blocco di lettura/scrittura sottile (SRW). |
InitializeSynchronizationBarrier | synchapi.h | Inizializza una nuova barriera di sincronizzazione. |
LeaveCriticalSection | synchapi.h | Rilascia la proprietà dell'oggetto sezione critica specificata. |
ReleaseSRWLockExclusive | synchapi.h | Rilascia un blocco di lettura/scrittura sottile (SRW) acquisito in modalità esclusiva. |
ReleaseSRWLockShared | synchapi.h | Rilascia un blocco SRW (Slim Reader/Writer) acquisito in modalità condivisa. |
SetCriticalSectionSpinCount | synchapi.h | Imposta il numero di rotazioni per la sezione critica specificata. |
SleepConditionVariableCS | synchapi.h | Sospendo la variabile di condizione specificata e rilascia la sezione critica specificata come operazione atomica. |
SleepConditionVariableSRW | synchapi.h | Sospendo la variabile di condizione specificata e rilascia il blocco specificato come operazione atomica. |
TryAcquireSRWLockExclusive | synchapi.h | Tenta di acquisire un blocco di lettura/scrittura sottile (SRW) in modalità esclusiva. Se la chiamata ha esito positivo, il thread chiamante assume la proprietà del blocco. |
TryAcquireSRWLockShared | synchapi.h | Tenta di acquisire un blocco SRW (Slim Reader/Writer) in modalità condivisa. Se la chiamata ha esito positivo, il thread chiamante assume la proprietà del blocco. |
TryEnterCriticalSection | synchapi.h | Tenta di immettere una sezione critica senza bloccare. Se la chiamata ha esito positivo, il thread chiamante assume la proprietà della sezione critica. |
WaitOnAddress | synchapi.h | Attende la modifica del valore in corrispondenza dell'indirizzo specificato. |
WakeAllConditionVariable | synchapi.h | Riattivare tutti i thread in attesa della variabile di condizione specificata. |
WakeByAddressAll | synchapi.h | Riattiva tutti i thread in attesa della modifica del valore di un indirizzo. |
WakeByAddressSingle | synchapi.h | Riattiva un thread in attesa della modifica del valore di un indirizzo. |
WakeConditionVariable | synchapi.h | Riattivare un singolo thread in attesa della variabile di condizione specificata. |
GetCurrentThread | processthreadsapi.h | Recupera uno pseudo handle per il thread chiamante. |
GetCurrentThreadId | processthreadsapi.h | Recupera l'identificatore del thread chiamante. |
TlsAlloc | processthreadsapi.h | Alloca un indice di archiviazione locale del thread (TLS). |
TlsFree | processthreadsapi.h | Rilascia un indice TLS, rendendolo disponibile per il riutilizzo. |
TlsGetValue | processthreadsapi.h | Recupera il valore nello slot TLS del thread chiamante per l'indice TLS specificato. |
TlsSetValue | processthreadsapi.h | Archivia un valore nello slot TLS del thread chiamante per l'indice TLS specificato. |
EnclaveGetAttestationReport | winenclaveapi.h | Ottiene un report di attestazione dell'enclave che descrive l'enclave corrente ed è firmato dall'autorità responsabile del tipo dell'enclave. |
EnclaveSealData | winenclaveapi.h | Genera un oggetto binario di grandi dimensioni crittografato (BLOB) da dati non crittografati. |
EnclaveUnsealData | winenclaveapi.h | Decrittografa un oggetto binario di grandi dimensioni crittografato (BLOB). |
EnclaveVerifyAttestationReport | winenclaveapi.h | Verifica un report di attestazione generato nel sistema corrente. |
WideCharToMultiByte | stringapiset.h | Esegue il mapping di una stringa UTF-16 (carattere wide) a una nuova stringa di caratteri. Nota: l'unica tabella codici disponibile per le enclave VBS è CP_UTF8. |
MultiByteToWideChar | stringapiset.h | Esegue il mapping di una stringa di caratteri a una stringa UTF-16 (carattere wide). Nota: l'unica tabella codici disponibile per le enclave VBS è CP_UTF8. |
LdrResolveDelayLoadedAPI Vedere ResolveDelayLoadedAPI |
- | Individua la funzione di destinazione dell'importazione specificata e sostituisce il puntatore di funzione nell'importazione del file di importazione con la destinazione dell'implementazione della funzione. |