in source/win32/ntapi.cpp [35:58]
static void do_initialisation() noexcept {
HMODULE ntdll = ::GetModuleHandleW(L"ntdll.dll");
if (ntdll == NULL) {
std::terminate();
}
auto init = [&](auto& fnPtr, const char* name) noexcept {
FARPROC p = ::GetProcAddress(ntdll, name);
if (p == NULL) {
std::terminate();
}
fnPtr = reinterpret_cast<std::remove_reference_t<decltype(fnPtr)>>(
reinterpret_cast<void(*)()>(p));
};
init(NtCreateFile, "NtCreateFile");
init(NtCancelIoFileEx, "NtCancelIoFileEx");
init(NtReadFile, "NtReadFile");
init(NtWriteFile, "NtWriteFile");
init(NtSetIoCompletion, "NtSetIoCompletion");
init(NtRemoveIoCompletion, "NtRemoveIoCompletion");
init(NtRemoveIoCompletionEx, "NtRemoveIoCompletionEx");
init(RtlNtStatusToDosError, "RtlNtStatusToDosError");
}