Поделиться через


API Vertdll, доступные в анклавах VBS

Область применения:✅ Windows 11 Build 26100.2314 или более поздней версии Windows Server 2025 или более поздней ✅ версии

Анклава используются для создания доверенных сред выполнения. Эти API-интерфейсы Vertdll доступны разработчикам в анклавах VBS.

Функции, экспортированные Vertdll.dll

Следующие API, экспортированные Vertdll.dll, доступны для вызова в анклавах VBS.

API Верхний колонтитул Description
IsProcessorFeaturePresent processthreadsapi.h Определяет, поддерживается ли указанная функция процессора текущим компьютером.
LdrDisableThreadCalloutsForDll - Отключает подключение потоков и отсоединяет выноски к библиотеке DLL.
NtTerminateProcess
См. раздел "Завершение процесса"
processthreadsapi.h Завершает указанный процесс и все его потоки.
RtlCaptureContext winnt.h Извлекает запись контекста в контексте вызывающего объекта.
RtlGetLastNtStatus
См. раздел GetLastError
- Возвращает последнее значение NTSTATUS.
RtlLookupFunctionEntry winnt.h Выполняет поиск активных таблиц функций для записи, соответствующей указанному значению КОМПЬЮТЕРА.
RtlPcToFileHeader winnt.h Извлекает базовый адрес образа, содержащего указанное значение компьютера.
RtlRaiseStatus
См. раздел RaiseException
- Вызывает исключение только с параметром dwExceptionCode . RtlRaiseStatus вызывает RaiseException, передав EXCEPTION_NONCONTINUABLE , чтобы указать, что возникло неконтинуируемое исключение.
RtlTimeFieldsToTime wdm.h Преобразует данные TIME_FIELDS в системное значение времени.
RtlUnhandledExceptionFilter
См. раздел UnhandledExceptionFilter
- Определяемая приложением функция, которая передает необработанные исключения отладчику, если выполняется отладка процесса.
RtlUnwind winnt.h Инициирует очистку кадров вызова процедуры.
RtlUnwindEx winnt.h Инициирует очистку кадров вызова процедуры.
RtlVirtualUnwind winnt.h Извлекает контекст вызова функции, которая предшествует указанному контексту функции.
RtlGetSystemGlobalData - Возвращает адрес глобальной области данных системы.
memcmp memory.h или
string.h
Сравнивает символы в двух буферах.
memcpy memory.h или
string.h
Копирует байты между буферами.
memmove string.h Перемещает один буфер в другой.
memset memory.h или
string.h
Задает буфер заданным символом.
OutputDebugStringW debugapi.h Отправляет строку отладчику для отображения.
CallEnclave анклавапи.h Вызывает функцию в анклавах.
АнклаваGetEnclaveInformation winenclaveapi.h Возвращает сведения о выполняемом в настоящее время анклава.
GetCurrentProcess processthreadsapi.h Извлекает псевдо-дескриптор для текущего процесса.
ЗавершениеEnclave анклавапи.h Завершает выполнение потоков, выполняемых в анклавах.
TerminateProcess processthreadsapi.h Завершает указанный процесс и все его потоки.
GetLastError errhandlingapi.h Извлекает значение кода последней ошибки вызывающего потока.
SetLastError errhandlingapi.h Задает код последней ошибки для вызывающего потока.
RaiseException errhandlingapi.h Вызывает исключение в вызывающем потоке.
SetUnhandledExceptionFilter errhandlingapi.h Позволяет приложению заменять обработчик исключений верхнего уровня каждого потока процесса.
GetProcessHeap heapapi.h Извлекает дескриптор кучи по умолчанию вызывающего процесса.
GetProcessHeaps heapapi.h Возвращает количество активных кучи и извлекает дескрипторы для всех активных кучи для вызывающего процесса.
КучиAlloc heapapi.h Выделяет блок памяти из кучи. Выделенная память не перемещается.
HeapCompact heapapi.h Возвращает размер крупнейшего зафиксированного свободного блока в указанной куче.
HeapCreate heapapi.h Создает частный объект кучи, который может использоваться вызывающим процессом.
ХеапДеяйт heapapi.h Уничтожает указанный объект кучи. Он удаляет и освобождает все страницы частного объекта кучи, и он делает дескриптор кучи недействительным.
HeapFree heapapi.h Освобождает блок памяти, выделенный из кучи функцией HeapAlloc или HeapReAlloc.
КучиЛок heapapi.h Пытается получить критически важный объект раздела или блокировку, связанную с указанной кучей.
КучиReAlloc heapapi.h Перераспреждает блок памяти из кучи. Эта функция позволяет изменять размер блока памяти и изменять другие свойства блока памяти.
Куча heapapi.h Извлекает размер блока памяти, выделенного из кучи функцией HeapAlloc или HeapReAlloc.
HeapUnlock heapapi.h Освобождает владение критически важным объектом раздела или блокировкой, связанной с указанной кучей. Он изменяет действие функции HeapLock .
InitializeSListHead interlockedapi.h Инициализирует голову последовательно связанного списка.
InterlockedFlushsList interlockedapi.h Удаляет все элементы из последовательно связанного списка.
InterlockedPopEntrySList interlockedapi.h Удаляет элемент из передней части последовательно связанного списка.
InterlockedPushEntrySList interlockedapi.h Вставляет элемент в передней части последовательно связанного списка.
InterlockedPushListsList interlockedapi.h Вставляет список, связанный с singly, в передней части другого последовательно связанного списка.
InterlockedPushListsListEx interlockedapi.h Вставляет список, связанный с singly, в передней части другого последовательно связанного списка.
QueryDepthSList interlockedapi.h Извлекает количество записей в указанном последовательно связанном списке.
DisableThreadLibraryCalls libloaderapi.h Отключает уведомления DLL_THREAD_ATTACH и DLL_THREAD_DETACH для указанной библиотеки DLL.
GetModuleHandleExW libloaderapi.h Извлекает дескриптор модуля для указанного модуля и увеличивает количество ссылок модуля, если не указано GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT .
Функция GetProcAddress libloaderapi.h Извлекает адрес экспортируемой функции или переменной из указанной библиотеки DLL.
SetThreadStackGuarantee processthreadsapi.h Задает минимальный размер стека, связанного с вызывающим потоком или волокнами, которые будут доступны во время любых исключений переполнения стека.
VirtualAlloc memoryapi.h Резервирует, фиксирует или изменяет состояние региона страниц в виртуальном адресном пространстве вызывающего процесса.
VirtualFree memoryapi.h Выпуски, вывод из эксплуатации или выпуски и вывод из эксплуатации области страниц в виртуальном адресном пространстве вызывающего процесса.
VirtualProtect memoryapi.h Изменяет защиту в регионе зафиксированных страниц в виртуальном адресном пространстве вызывающего процесса.
VirtualQuery memoryapi.h Извлекает сведения о диапазоне страниц в виртуальном адресном пространстве вызывающего процесса.
AcquireSRWLockExclusive synchapi.h Получает блокировку с тонким средством чтения и записи (SRW) в монопольном режиме.
AcquireSRWLockShared synchapi.h Получает блокировку средства чтения и записи (SRW) в общем режиме.
DeleteCriticalSection synchapi.h Освобождает все ресурсы, используемые объектом неовладельцированного критического раздела.
DeleteSynchronizationBarrier synchapi.h Удаляет барьер синхронизации.
ВводCriticalSection synchapi.h Ожидает владения указанным объектом критического раздела. Функция возвращается, когда вызывающему потоку предоставлено владение.
EnterSynchronizationBarrier synchapi.h Вызывает поток ожидания в барьере синхронизации, пока не будет введено максимальное количество потоков.
InitializeConditionVariable synchapi.h Инициализирует переменную условия.
InitializeCriticalSection synchapi.h Инициализирует объект критического раздела.
InitializeCriticalSectionAndSpinCount synchapi.h Инициализирует объект критического раздела и задает число спинов для критического раздела.
InitializeCriticalSectionEx synchapi.h Инициализирует критически важный объект раздела с числом спинов и необязательными флагами.
InitializeSRWLock synchapi.h Инициализация блокировки средства чтения и записи (SRW).
InitializeSynchronizationBarrier synchapi.h Инициализирует новый барьер синхронизации.
LeaveCriticalSection synchapi.h Освобождает владение указанным объектом критического раздела.
ReleaseSRWLockExclusive synchapi.h Освобождает блокировку с тонким средством чтения и записи (SRW), которая была приобретена в монопольном режиме.
ReleaseSRWLockShared synchapi.h Освобождает блокировку с тонким средством чтения и записи (SRW), которая была приобретена в общем режиме.
SetCriticalSectionSpinCount synchapi.h Задает число спинов для указанного критического раздела.
SleepConditionVariableCS synchapi.h Спящий режим в указанной переменной условия и освобождает указанный критический раздел как атомарную операцию.
SleepConditionVariableSRW synchapi.h Спящий режим в указанной переменной условия и освобождает указанную блокировку как атомарную операцию.
TryAcquireSRWLockExclusive synchapi.h Пытается получить блокировку средства чтения или записи (SRW) в монопольном режиме. Если вызов выполнен успешно, вызывающий поток берет на себя ответственность за блокировку.
TryAcquireSRWLockShared synchapi.h Пытается получить блокировку средства чтения или записи (SRW) в общем режиме. Если вызов выполнен успешно, вызывающий поток берет на себя ответственность за блокировку.
TryEnterCriticalSection synchapi.h Пытается ввести критически важный раздел без блокировки. Если вызов выполнен успешно, вызывающий поток берет на себя ответственность за критически важный раздел.
WaitOnAddress synchapi.h Ожидает изменения значения по указанному адресу.
WakeAllConditionVariable synchapi.h Пробуждение всех потоков, ожидающих указанной переменной условия.
WakeByAddressAll synchapi.h Пробуждение всех потоков, ожидающих изменения значения адреса.
WakeByAddressSingle synchapi.h Пробуждение одного потока, ожидающего изменения значения адреса.
WakeConditionVariable synchapi.h Пробуждение одного потока, ожидая указанной переменной условия.
GetCurrentThread processthreadsapi.h Извлекает псевдо-дескриптор для вызывающего потока.
GetCurrentThreadId processthreadsapi.h Извлекает идентификатор потока вызывающего потока.
TlsAlloc processthreadsapi.h Выделяет индекс локального хранилища потока (TLS).
TlsFree processthreadsapi.h Освобождает индекс TLS, что делает его доступным для повторного использования.
TlsGetValue processthreadsapi.h Извлекает значение в слоте TLS вызывающего потока для указанного индекса TLS.
TlsSetValue processthreadsapi.h Сохраняет значение в слоте TLS вызывающего потока для указанного индекса TLS.
АнклаваGetAttestationReport winenclaveapi.h Получает отчет аттестации анклава, описывающий текущий анклава и подписанный органом, отвечающим за тип анклава.
АнклаваSealData winenclaveapi.h Создает зашифрованный двоичный большой объект (BLOB-объект) из несеченных данных.
АнклаваUnsealData winenclaveapi.h Расшифровывает зашифрованный двоичный большой объект (BLOB-объект).
EnclaveVerifyAttestationReport winenclaveapi.h Проверяет отчет аттестации, созданный в текущей системе.
WideCharToMultiByte stringapiset.h Сопоставляет строку UTF-16 (широкий символ) с новой строкой символов.

Примечание. Единственная кодовая страница, доступная для Анклавов VBS, CP_UTF8.
MultiByteToWideChar stringapiset.h Сопоставляет символьную строку со строкой UTF-16 (широкий символ).

Примечание. Единственная кодовая страница, доступная для Анклавов VBS, CP_UTF8.
LdrResolveDelayLoadedAPI
См. раздел ResolveDelayLoadedAPI
- Находит целевую функцию указанного импорта и заменяет указатель функции в блоке импорта целевым объектом реализации функции.

См. также