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
|
---|