APIs Vertdll disponíveis em enclaves do VBS
Aplica-se a:✅ Windows 11 Build 26100.2314 ou posterior ✅ Windows Server 2025 ou posterior
Enclaves são usados para criar ambientes de execução confiáveis. Essas APIs Vertdll estão disponíveis para desenvolvedores em enclaves de VBS.
Funções exportadas por Vertdll.dll
As seguintes APIs exportadas por Vertdll.dll estão disponíveis para serem chamadas em enclaves de VBS.
API | parâmetro | Descrição |
---|---|---|
IsProcessorFeaturePresent | processthreadsapi.h | Determina se o recurso de processador especificado é compatível com o computador atual. |
LdrDisableThreadCalloutsForDll | - | Desabilita a anexação de threads e desanexa textos explicativos em uma DLL. |
NtTerminateProcess Consulte TerminateProcess |
processthreadsapi.h | Encerra o processo especificado e todos os seus threads. |
RtlCaptureContext | WinNT.h | Recupera um registro de contexto no contexto do chamador. |
RtlGetLastNtStatus Consulte GetLastError |
- | Obtém o último valor NTSTATUS. |
RtlLookupFunctionEntry | WinNT.h | Pesquisa nas tabelas de funções ativas uma entrada que corresponda ao valor do computador especificado. |
RtlPcToFileHeader | WinNT.h | Recupera o endereço base da imagem que contém o valor do computador especificado. |
RtlRaiseStatus Consulte RaiseException |
- | Gera uma exceção, com apenas um parâmetro dwExceptionCode. RtlRaiseStatus invoca RaiseException, passando EXCEPTION_NONCONTINUABLE para indicar que uma exceção não continuável foi encontrada. |
RtlTimeFieldsToTime | wdm.h | Converte informações TIME_FIELDS em um valor de hora do sistema. |
RtlUnhandledExceptionFilter Consulte UnhandledExceptionFilter |
- | Uma função definida pelo aplicativo que passa exceções sem tratamento para o depurador, se o processo estiver sendo depurado. |
RtlUnwind | WinNT.h | Inicia um desenrolamento de quadros de chamada de procedimento. |
RtlUnwindEx | WinNT.h | Inicia um desenrolamento de quadros de chamada de procedimento. |
RtlVirtualUnwind | WinNT.h | Recupera o contexto de invocação da função que precede o contexto de função especificado. |
RtlGetSystemGlobalData | - | Obtém o endereço da área de dados global do sistema. |
memcmp | memory.h ou string.h |
Compara caracteres em dois buffers. |
memcpy | memory.h ou string.h |
Copia bytes entre buffers. |
memmove | string.h | Move um buffer para outro. |
memset | memory.h ou string.h |
Define um buffer para um caractere especificado. |
OutputDebugStringW | debugapi.h | Envia uma cadeia de caracteres para o depurador para exibição. |
CallEnclave | enclaveapi.h | Chama uma função dentro de um enclave. |
EnclaveGetEnclaveInformation | winenclaveapi.h | Obtém informações sobre o enclave em execução no momento. |
GetCurrentProcess | processthreadsapi.h | Recupera um pseudo-identificador para o processo atual. |
TerminateEnclave | enclaveapi.h | Encerra a execução dos threads que estão em execução em um enclave. |
TerminateProcess | processthreadsapi.h | Encerra o processo especificado e todos os seus threads. |
GetLastError | errhandlingapi.h | Recupera o valor do código de último erro do thread de chamada. |
SetLastError | errhandlingapi.h | Define o código de último erro para o thread de chamada. |
RaiseException | errhandlingapi.h | Gera uma exceção no thread de chamada. |
SetUnhandledExceptionFilter | errhandlingapi.h | Permite que um aplicativo substitua o manipulador de exceção de nível superior de cada thread de um processo. |
GetProcessHeap | heapapi.h | Recupera um identificador para o heap padrão do processo de chamada. |
GetProcessHeaps | heapapi.h | Retorna o número de heaps ativos e recupera identificadores para todos os heaps ativos para o processo de chamada. |
HeapAlloc | heapapi.h | Aloca um bloco de memória em um heap. A memória alocada não é móvel. |
HeapCompact | heapapi.h | Retorna o tamanho do maior bloco gratuito confirmado no heap especificado. |
HeapCreate | heapapi.h | Cria um objeto de heap privado que pode ser usado pelo processo de chamada. |
HeapDestroy | heapapi.h | Destrói o objeto heap especificado. Ele descompromissa e libera todas as páginas de um objeto de heap privado e invalida o identificador para o heap. |
HeapFree | heapapi.h | Libera um bloco de memória alocado de um heap pela função HeapAlloc ou HeapReAlloc. |
HeapLock | heapapi.h | Tenta adquirir o objeto de seção crítico, ou bloqueio, associado a um heap especificado. |
HeapReAlloc | heapapi.h | Realoca um bloco de memória em um heap. Essa função permite redimensionar um bloco de memória e alterar outras propriedades de bloco de memória. |
HeapSize | heapapi.h | Recupera o tamanho de um bloco de memória alocado de um heap pela função HeapAlloc ou HeapReAlloc. |
HeapUnlock | heapapi.h | Libera a propriedade do objeto de seção crítico ou bloqueio associado a um heap especificado. Ele inverte a ação da função HeapLock. |
InitializeSListHead | interlockedapi.h | Inicializa o cabeçalho de uma lista vinculada. |
InterlockedFlushSList | interlockedapi.h | Remove todos os itens de uma lista vinculada. |
InterlockedPopEntrySList | interlockedapi.h | Remove um item da frente de uma lista vinculada. |
InterlockedPushEntrySList | interlockedapi.h | Insere um item na frente de uma lista vinculada. |
InterlockedPushListSList | interlockedapi.h | Insere uma lista vinculada na frente de outra lista vinculada. |
InterlockedPushListSListEx | interlockedapi.h | Insere uma lista vinculada na frente de outra lista vinculada. |
QueryDepthSList | interlockedapi.h | Recupera o número de entradas na lista vinculada individualmente especificada. |
Disablethreadlibrarycalls | libloaderapi.h | Desabilita as notificações DLL_THREAD_ATTACH e DLL_THREAD_DETACH para a DLL especificada. |
GetModuleHandleExW | libloaderapi.h | Recupera um identificador de módulo para o módulo especificado e incrementa a contagem de referência do módulo, a menos que GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT seja especificado. |
GetProcAddress | libloaderapi.h | Recupera o endereço de uma função ou variável exportada da DLL especificada. |
SetThreadStackGuarantee | processthreadsapi.h | Define o tamanho mínimo da pilha associada ao thread de chamada ou à fibra que estará disponível durante quaisquer exceções de estouro de pilha. |
VirtualAlloc | memoryapi.h | Reserva, confirma ou altera o estado de uma região de páginas no espaço de endereço virtual do processo de chamada. |
VirtualFree | memoryapi.h | Libera, cancela ou libera e cancela uma região de páginas dentro do espaço de endereço virtual do processo de chamada. |
VirtualProtect | memoryapi.h | Altera a proteção em uma região de páginas confirmadas no espaço de endereço virtual do processo de chamada. |
VirtualQuery | memoryapi.h | Fornece informações sobre o intervalo de páginas no espaço de endereço virtual do processo de chamada. |
AcquireSRWLockExclusive | synchapi.h | Adquire um bloqueio leitor/gravador fino (SRW) no modo exclusivo. |
AcquireSRWLockShared | synchapi.h | Adquire um bloqueio leitor/gravador fino (SRW) no modo compartilhado. |
DeleteCriticalSection | synchapi.h | Libera todos os recursos usados por um objeto de seção crítico sem proprietário. |
DeleteSynchronizationBarrier | synchapi.h | Exclui uma barreira de sincronização. |
EnterCriticalSection | synchapi.h | Aguarda a propriedade do objeto de seção crítica especificado. A função retorna quando o thread de chamada recebe a propriedade. |
EnterSynchronizationBarrier | synchapi.h | Faz com que o thread de chamada aguarde em uma barreira de sincronização até que o número máximo de threads tenha entrado na barreira. |
InitializeConditionVariable | synchapi.h | Inicializa uma variável de condição. |
InitializeCriticalSection | synchapi.h | Inicializa um objeto de seção crítico. |
InitializeCriticalSectionAndSpinCount | synchapi.h | Inicializa um objeto de seção crítico e define a contagem de rotação para a seção crítica. |
InitializeCriticalSectionEx | synchapi.h | Inicializa um objeto de seção crítico com uma contagem de rotação e sinalizadores opcionais. |
InitializeSRWLock | synchapi.h | Inicialize um bloqueio de leitor/gravador fino (SRW). |
InitializeSynchronizationBarrier | synchapi.h | Inicializa uma nova barreira de sincronização. |
LeaveCriticalSection | synchapi.h | Libera a propriedade do objeto de seção crítico especificado. |
ReleaseSRWLockExclusive | synchapi.h | Libera um bloqueio leitor/gravador (SRW) fino que foi adquirido no modo exclusivo. |
ReleaseSRWLockShared | synchapi.h | Libera um bloqueio leitor/gravador fino (SRW) que foi adquirido no modo compartilhado. |
SetCriticalSectionSpinCount | synchapi.h | Define a contagem de rotação para a seção crítica especificada. |
SleepConditionVariableCS | synchapi.h | Dorme na variável de condição especificada e libera a seção crítica especificada como uma operação atômica. |
SleepConditionVariableSRW | synchapi.h | Dorme na variável de condição especificada e libera o bloqueio especificado como uma operação atômica. |
TryAcquireSRWLockExclusive | synchapi.h | Tenta adquirir um bloqueio leitor/gravador fino (SRW) no modo exclusivo. Se a chamada for bem-sucedida, o thread de chamada assumirá a propriedade do bloqueio. |
TryAcquireSRWLockShared | synchapi.h | Tenta adquirir um bloqueio leitor/gravador fino (SRW) no modo compartilhado. Se a chamada for bem-sucedida, o thread de chamada assumirá a propriedade do bloqueio. |
TryEnterCriticalSection | synchapi.h | Tenta inserir uma seção crítica sem bloquear. Se a chamada for bem-sucedida, o thread de chamada assumirá a propriedade da seção crítica. |
WaitOnAddress | synchapi.h | Aguarda o valor no endereço especificado ser alterado. |
WakeAllConditionVariable | synchapi.h | Ative todos os threads aguardando a variável de condição especificada. |
WakeByAddressAll | synchapi.h | Ativa todos os threads que estão aguardando a alteração do valor de um endereço. |
WakeByAddressSingle | synchapi.h | Ativa um thread que está aguardando a alteração do valor de um endereço. |
WakeConditionVariable | synchapi.h | Ative um único thread aguardando a variável de condição especificada. |
GetCurrentThread | processthreadsapi.h | Recupera um pseudo-identificador para o thread de chamada. |
GetCurrentThreadId | processthreadsapi.h | Recupera o identificador de thread do thread de chamada. |
TlsAlloc | processthreadsapi.h | Aloca um índice TLS (armazenamento local de thread). |
TlsFree | processthreadsapi.h | Libera um índice TLS, disponibilizando-o para reutilização. |
TlsGetValue | processthreadsapi.h | Recupera o valor no slot TLS do thread de chamada para o índice TLS especificado. |
TlsSetValue | processthreadsapi.h | Armazena um valor no slot TLS do thread de chamada para o índice TLS especificado. |
EnclaveGetAttestationReport | winenclaveapi.h | Obtém um relatório de atestado de enclave que descreve o enclave atual e é assinado pela autoridade responsável pelo tipo do enclave. |
EnclaveSealData | winenclaveapi.h | Gera um blob (objeto binário grande) criptografado a partir de dados não criptografados. |
EnclaveUnsealData | winenclaveapi.h | Descriptografa um blob (objeto binário grande) criptografado. |
EnclaveVerifyAttestationReport | winenclaveapi.h | Verifica um relatório de atestado que foi gerado no sistema atual. |
WideCharToMultiByte | stringapiset.h | Mapeia uma cadeia de caracteres UTF-16 (caractere largo) para uma nova cadeia de caracteres. Observação: a única página de código disponível para o VBS Enclaves é CP_UTF8. |
MultiByteToWideChar | stringapiset.h | Mapeia uma cadeia de caracteres para uma cadeia de caracteres UTF-16 (caractere largo). Observação: a única página de código disponível para o VBS Enclaves é CP_UTF8. |
LdrResolveDelayLoadedAPI Consulte ResolveDelayLoadedAPI |
- | Localiza a função de destino da importação especificada e substitui o ponteiro de função na conversão de importação pelo destino da implementação da função. |