API Vertdll, доступные в анклавах VBS
Анклава используются для создания доверенных сред выполнения. Эти 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 (широкий символ) в новую строку символов. |
MultiByteToWideChar | stringapiset.h | Карты строку символов в строку UTF-16 (широкий символ). |
LdrResolveDelayLoadedAPI См. раздел ResolveDelayLoadedAPI |
- | Находит целевую функцию указанного импорта и заменяет указатель функции в блоке импорта целевым объектом реализации функции. |