extern NTSTATUS (WINAPI *func_RtlCreateSystemVolumeInformationFolder)
(PCUNICODE_STRING VolumeRootPath);
-
-extern bool
-windows_version_is_at_least(unsigned major, unsigned minor);
-
-#define running_on_windows_xp_or_later() \
- windows_version_is_at_least(5, 1)
-
-#define running_on_windows_vista_or_later() \
- windows_version_is_at_least(6, 0)
-
-#define running_on_windows_7_or_later() \
- windows_version_is_at_least(6, 1)
-
extern int
win32_path_to_nt_path(const wchar_t *win32_path, UNICODE_STRING *nt_path);
NTSTATUS (WINAPI *func_RtlCreateSystemVolumeInformationFolder)
(PCUNICODE_STRING VolumeRootPath);
-static OSVERSIONINFO windows_version_info = {
- .dwOSVersionInfoSize = sizeof(OSVERSIONINFO),
-};
-
static bool acquired_privileges = false;
-bool
-windows_version_is_at_least(unsigned major, unsigned minor)
-{
- return windows_version_info.dwMajorVersion > major ||
- (windows_version_info.dwMajorVersion == major &&
- windows_version_info.dwMinorVersion >= minor);
-}
-
struct dll_sym {
void **func_ptr;
const char *name;
acquired_privileges = true;
}
- /* Get Windows version information. */
- GetVersionEx(&windows_version_info);
-
ret = init_dll(&ntdll_spec);
if (ret)
goto out_drop_privs;