1 |
#pragma once |
2 |
|
3 |
#ifdef _WIN32 |
4 |
namespace plog |
5 |
{ |
6 |
typedef unsigned long DWORD; |
7 |
typedef unsigned short WORD; |
8 |
typedef unsigned int UINT; |
9 |
typedef int BOOL; |
10 |
typedef long LSTATUS; |
11 |
typedef char* LPSTR; |
12 |
typedef wchar_t* LPWSTR; |
13 |
typedef const char* LPCSTR; |
14 |
typedef const wchar_t* LPCWSTR; |
15 |
typedef void* HANDLE; |
16 |
typedef void* HKEY; |
17 |
typedef size_t ULONG_PTR; |
18 |
|
19 |
struct CRITICAL_SECTION |
20 |
{ |
21 |
void* DebugInfo; |
22 |
long LockCount; |
23 |
long RecursionCount; |
24 |
HANDLE OwningThread; |
25 |
HANDLE LockSemaphore; |
26 |
ULONG_PTR SpinCount; |
27 |
}; |
28 |
|
29 |
struct COORD |
30 |
{ |
31 |
short X; |
32 |
short Y; |
33 |
}; |
34 |
|
35 |
struct SMALL_RECT |
36 |
{ |
37 |
short Left; |
38 |
short Top; |
39 |
short Right; |
40 |
short Bottom; |
41 |
}; |
42 |
|
43 |
struct CONSOLE_SCREEN_BUFFER_INFO |
44 |
{ |
45 |
COORD dwSize; |
46 |
COORD dwCursorPosition; |
47 |
WORD wAttributes; |
48 |
SMALL_RECT srWindow; |
49 |
COORD dwMaximumWindowSize; |
50 |
}; |
51 |
|
52 |
namespace codePage |
53 |
{ |
54 |
const UINT kActive = 0; |
55 |
const UINT kUTF8 = 65001; |
56 |
} |
57 |
|
58 |
namespace eventLog |
59 |
{ |
60 |
const WORD kErrorType = 0x0001; |
61 |
const WORD kWarningType = 0x0002; |
62 |
const WORD kInformationType = 0x0004; |
63 |
} |
64 |
|
65 |
namespace hkey |
66 |
{ |
67 |
const HKEY kLocalMachine = reinterpret_cast<HKEY>(static_cast<ULONG_PTR>(0x80000002)); |
68 |
} |
69 |
|
70 |
namespace regSam |
71 |
{ |
72 |
const DWORD kQueryValue = 0x0001; |
73 |
const DWORD kSetValue = 0x0002; |
74 |
} |
75 |
|
76 |
namespace regType |
77 |
{ |
78 |
const DWORD kExpandSz = 2; |
79 |
const DWORD kDword = 4; |
80 |
} |
81 |
|
82 |
namespace stdHandle |
83 |
{ |
84 |
const DWORD kOutput = static_cast<DWORD>(-11); |
85 |
} |
86 |
|
87 |
namespace foreground |
88 |
{ |
89 |
const WORD kBlue = 0x0001; |
90 |
const WORD kGreen = 0x0002; |
91 |
const WORD kRed = 0x0004; |
92 |
const WORD kIntensity = 0x0008; |
93 |
} |
94 |
|
95 |
namespace background |
96 |
{ |
97 |
const WORD kBlue = 0x0010; |
98 |
const WORD kGreen = 0x0020; |
99 |
const WORD kRed = 0x0040; |
100 |
const WORD kIntensity = 0x0080; |
101 |
} |
102 |
|
103 |
extern "C" |
104 |
{ |
105 |
__declspec(dllimport) int __stdcall MultiByteToWideChar(UINT CodePage, DWORD dwFlags, LPCSTR lpMultiByteStr, int cbMultiByte, LPWSTR lpWideCharStr, int cchWideChar); |
106 |
__declspec(dllimport) int __stdcall WideCharToMultiByte(UINT CodePage, DWORD dwFlags, LPCWSTR lpWideCharStr, int cchWideChar, LPSTR lpMultiByteStr, int cbMultiByte, const char* lpDefaultChar, BOOL* lpUsedDefaultChar); |
107 |
|
108 |
__declspec(dllimport) DWORD __stdcall GetCurrentThreadId(); |
109 |
|
110 |
__declspec(dllimport) BOOL __stdcall MoveFileW(LPCWSTR lpExistingFileName, LPCWSTR lpNewFileName); |
111 |
|
112 |
__declspec(dllimport) void __stdcall InitializeCriticalSection(CRITICAL_SECTION* lpCriticalSection); |
113 |
__declspec(dllimport) void __stdcall EnterCriticalSection(CRITICAL_SECTION* lpCriticalSection); |
114 |
__declspec(dllimport) void __stdcall LeaveCriticalSection(CRITICAL_SECTION* lpCriticalSection); |
115 |
__declspec(dllimport) void __stdcall DeleteCriticalSection(CRITICAL_SECTION* lpCriticalSection); |
116 |
|
117 |
__declspec(dllimport) HANDLE __stdcall RegisterEventSourceW(LPCWSTR lpUNCServerName, LPCWSTR lpSourceName); |
118 |
__declspec(dllimport) BOOL __stdcall DeregisterEventSource(HANDLE hEventLog); |
119 |
__declspec(dllimport) BOOL __stdcall ReportEventW(HANDLE hEventLog, WORD wType, WORD wCategory, DWORD dwEventID, void* lpUserSid, WORD wNumStrings, DWORD dwDataSize, LPCWSTR* lpStrings, void* lpRawData); |
120 |
|
121 |
__declspec(dllimport) LSTATUS __stdcall RegCreateKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD Reserved, LPWSTR lpClass, DWORD dwOptions, DWORD samDesired, void* lpSecurityAttributes, HKEY* phkResult, DWORD* lpdwDisposition); |
122 |
__declspec(dllimport) LSTATUS __stdcall RegSetValueExW(HKEY hKey, LPCWSTR lpValueName, DWORD Reserved, DWORD dwType, const void* lpData, DWORD cbData); |
123 |
__declspec(dllimport) LSTATUS __stdcall RegCloseKey(HKEY hKey); |
124 |
__declspec(dllimport) LSTATUS __stdcall RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, DWORD samDesired, HKEY* phkResult); |
125 |
__declspec(dllimport) LSTATUS __stdcall RegDeleteKeyW(HKEY hKey, LPCWSTR lpSubKey); |
126 |
|
127 |
__declspec(dllimport) HANDLE __stdcall GetStdHandle(DWORD nStdHandle); |
128 |
|
129 |
__declspec(dllimport) BOOL __stdcall GetConsoleScreenBufferInfo(HANDLE hConsoleOutput, CONSOLE_SCREEN_BUFFER_INFO* lpConsoleScreenBufferInfo); |
130 |
__declspec(dllimport) BOOL __stdcall SetConsoleTextAttribute(HANDLE hConsoleOutput, WORD wAttributes); |
131 |
|
132 |
__declspec(dllimport) void __stdcall OutputDebugStringW(LPCWSTR lpOutputString); |
133 |
} |
134 |
} |
135 |
#endif // _WIN32 |