1 ////////////////////////////////////////////////////////////////////
2 // Copyright (C) Alexander Telyatnikov, Ivan Keliukh, Yegor Anchishkin, SKIF Software, 1999-2013. Kiev, Ukraine
4 // This file was released under the GPLv2 on June 2015.
5 ////////////////////////////////////////////////////////////////////
7 #ifndef __ENV_SPEC_NT_NATIVE__H__
8 #define __ENV_SPEC_NT_NATIVE__H__
24 PULONG MajorVersion OPTIONAL
,
25 PULONG MinorVersion OPTIONAL
,
26 PULONG BuildNumber OPTIONAL
,
27 PUNICODE_STRING CSDVersion OPTIONAL
30 #define PsGetVersion(a,b,c,d) GetOsVersion(a,b,c,d)
32 #define InterlockedIncrement(addr) \
34 #define InterlockedDecrement(addr) \
38 InterlockedExchangeAdd(PLONG addr
, LONG i
) {
44 #define DeviceIoControl(h, ctlc, ib, is, ob, os, r, ov) MyDeviceIoControl(h, ctlc, ib, is, ob, os, r, ov)
49 DWORD dwIoControlCode
,
54 DWORD
* lpBytesReturned
,
58 #define OemToCharW(ansi_s, uni_s) (swprintf(uni_s, L"%S", ansi_s))
59 #define MultiByteToWideChar(cp, f, ansi_s, a_sz, uni_s, u_sz) (swprintf(uni_s, L"%S", ansi_s))
66 #define GlobalAlloc(foo, size) MyGlobalAlloc( size );
67 #define GlobalFree(ptr) MyGlobalFree( ptr );
70 PVOID
MyGlobalAlloc(ULONG Size
);
73 VOID
MyGlobalFree(PVOID Addr
);
75 #define ExitProcess(Status) NtTerminateProcess( NtCurrentProcess(), Status );
106 EnvFileGetSizeByHandle(
127 EnvFileExistsA(PCHAR Name
);
131 EnvFileExistsW(PWCHAR Name
);
151 #define ENV_FILE_CURRENT 1
152 #define ENV_FILE_END 2
153 #define ENV_FILE_BEGIN 3
159 LONGLONG lDistanceToMove
,
160 LONGLONG
* lResultPointer
,
170 #define PrintDbgConsole PrintNtConsole
176 #endif //NT_NATIVE_MODE
178 #endif //__ENV_SPEC_NT_NATIVE__H__