nt_wrapper
Заголовок только библиотека обертков вокруг нативных системных API Windows.
Предупреждение: API версии 2 все еще нестабилен
Основные моменты реализованных в настоящее время функции
Информация о системе:
- Обработки перечисления -> ntw :: system :: handles
- Перечисление процесса -> ntw :: System :: Процессы
- Перечисление потоков -> ntw :: System :: thine_info
- Загруженные драйверы перечисление -> ntw :: System :: loaded_drivers
- Операции памяти с raii constructs -> ntw :: memory
Манипуляция объектом:
- Process -> ntw :: ob :: process
- Тема -> ntw :: ob :: thread
- Файл -> ntw :: ob :: file
- Токен -> ntw :: ob :: token
- Реестр -> ntw :: ob :: Реестр и многое другое
Цели дизайна
- Нет исключений - если функция может выйти из строя, она вернет код состояния.
- Никаких накладных расходов - каждая абстракция не является затратной и настолько быстрой, насколько это возможно.
- Простота использования разработчиков - гораздо более последовательно и приятно работать по сравнению с Win32.
Почему?
Основная причина выбрать эту библиотеку над существующими конструкциями Windows:
- Скорость - даже с Lazy_Import ваш код, вероятно, будет быстрее по сравнению с API Win32.
- Простота использования - язык выбора C ++ и позволяет использовать современные альтернативы старому C.
- Запутывание - гораздо сложнее изменить приложение, которое использует запутанные импорты или прямые Syscalls.
Установка зависимостей с использованием VCPKG
> git clone https://github.com/microsoft/vcpkg
> cd vcpkg
> ./bootstrap-vcpkg.sh
> ./vcpkg install phnt