103 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			103 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								#pragma once
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#ifdef _WIN64
							 | 
						||
| 
								 | 
							
								typedef __int64 INT_PTR;
							 | 
						||
| 
								 | 
							
								typedef unsigned __int64 UINT_PTR;
							 | 
						||
| 
								 | 
							
								typedef __int64 LONG_PTR;
							 | 
						||
| 
								 | 
							
								typedef unsigned __int64 ULONG_PTR;
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								typedef _W64 int INT_PTR;
							 | 
						||
| 
								 | 
							
								typedef _W64 unsigned int UINT_PTR;
							 | 
						||
| 
								 | 
							
								typedef _W64 long LONG_PTR;
							 | 
						||
| 
								 | 
							
								typedef _W64 unsigned long ULONG_PTR;
							 | 
						||
| 
								 | 
							
								#endif // WIN64
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								typedef unsigned long DWORD;
							 | 
						||
| 
								 | 
							
								typedef DWORD *LPDWORD;
							 | 
						||
| 
								 | 
							
								#define STD_OUTPUT_HANDLE ((DWORD)-11)
							 | 
						||
| 
								 | 
							
								#define STD_ERROR_HANDLE ((DWORD)-12)
							 | 
						||
| 
								 | 
							
								#define WINAPI __stdcall
							 | 
						||
| 
								 | 
							
								typedef void *HWND;
							 | 
						||
| 
								 | 
							
								typedef void *HANDLE;
							 | 
						||
| 
								 | 
							
								typedef unsigned int UINT;
							 | 
						||
| 
								 | 
							
								#define WINBASEAPI
							 | 
						||
| 
								 | 
							
								typedef int BOOL;
							 | 
						||
| 
								 | 
							
								#define CONST const
							 | 
						||
| 
								 | 
							
								#define VOID void
							 | 
						||
| 
								 | 
							
								typedef void *LPVOID;
							 | 
						||
| 
								 | 
							
								typedef char CHAR;
							 | 
						||
| 
								 | 
							
								typedef const CHAR *LPCSTR;
							 | 
						||
| 
								 | 
							
								typedef wchar_t WCHAR;
							 | 
						||
| 
								 | 
							
								typedef const WCHAR *LPCWSTR;
							 | 
						||
| 
								 | 
							
								typedef CONST CHAR *LPCCH, *PCCH;
							 | 
						||
| 
								 | 
							
								#define CP_UTF8 65001
							 | 
						||
| 
								 | 
							
								typedef wchar_t WCHAR;
							 | 
						||
| 
								 | 
							
								typedef WCHAR *LPWSTR;
							 | 
						||
| 
								 | 
							
								typedef void *PVOID;
							 | 
						||
| 
								 | 
							
								typedef long LONG;
							 | 
						||
| 
								 | 
							
								typedef LONG *PLONG;
							 | 
						||
| 
								 | 
							
								typedef CONST void *LPCVOID;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define GENERIC_READ (0x80000000L)
							 | 
						||
| 
								 | 
							
								#define GENERIC_WRITE (0x40000000L)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define FILE_SHARE_READ 0x00000001
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define CREATE_ALWAYS 2
							 | 
						||
| 
								 | 
							
								#define OPEN_EXISTING 3
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define FILE_ATTRIBUTE_NORMAL 0x00000080
							 | 
						||
| 
								 | 
							
								#define INVALID_HANDLE_VALUE ((HANDLE)(LONG_PTR)-1)
							 | 
						||
| 
								 | 
							
								#define FILE_BEGIN 0
							 | 
						||
| 
								 | 
							
								#define FILE_CURRENT 1
							 | 
						||
| 
								 | 
							
								#define MAX_PATH 260
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								typedef struct _SECURITY_ATTRIBUTES {
							 | 
						||
| 
								 | 
							
									DWORD nLength;
							 | 
						||
| 
								 | 
							
									LPVOID lpSecurityDescriptor;
							 | 
						||
| 
								 | 
							
									BOOL bInheritHandle;
							 | 
						||
| 
								 | 
							
								} SECURITY_ATTRIBUTES, *PSECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								typedef struct _OVERLAPPED {
							 | 
						||
| 
								 | 
							
									ULONG_PTR Internal;
							 | 
						||
| 
								 | 
							
									ULONG_PTR InternalHigh;
							 | 
						||
| 
								 | 
							
									union {
							 | 
						||
| 
								 | 
							
										struct {
							 | 
						||
| 
								 | 
							
											DWORD Offset;
							 | 
						||
| 
								 | 
							
											DWORD OffsetHigh;
							 | 
						||
| 
								 | 
							
										} DUMMYSTRUCTNAME;
							 | 
						||
| 
								 | 
							
										PVOID Pointer;
							 | 
						||
| 
								 | 
							
									} DUMMYUNIONNAME;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									HANDLE hEvent;
							 | 
						||
| 
								 | 
							
								} OVERLAPPED, *LPOVERLAPPED;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								WINBASEAPI BOOL WINAPI WriteConsoleA(HANDLE hConsoleOutput, CONST VOID *lpBuffer, DWORD nNumberOfCharsToWrite, LPDWORD lpNumberOfCharsWritten,
							 | 
						||
| 
								 | 
							
								                                     LPVOID lpReserved);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								WINBASEAPI BOOL WINAPI WriteConsoleW(HANDLE hConsoleOutput, CONST VOID *lpBuffer, DWORD nNumberOfCharsToWrite, LPDWORD lpNumberOfCharsWritten,
							 | 
						||
| 
								 | 
							
								                                     LPVOID lpReserved);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								WINBASEAPI VOID WINAPI OutputDebugStringA(LPCSTR lpOutputString);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								WINBASEAPI VOID WINAPI OutputDebugStringW(LPCWSTR lpOutputString);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								WINBASEAPI HANDLE WINAPI GetStdHandle(DWORD nStdHandle);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								int WINAPI MultiByteToWideChar(UINT CodePage, DWORD dwFlags, LPCCH lpMultiByteStr, int cbMultiByte, LPWSTR lpWideCharStr, int cchWideChar);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								WINBASEAPI HANDLE WINAPI CreateFileW(LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes,
							 | 
						||
| 
								 | 
							
								                                     DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								WINBASEAPI DWORD WINAPI GetFileSize(HANDLE hFile, LPDWORD lpFileSizeHigh);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								WINBASEAPI BOOL WINAPI ReadFile(HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								WINBASEAPI DWORD WINAPI SetFilePointer(HANDLE hFile, LONG lDistanceToMove, PLONG lpDistanceToMoveHigh, DWORD dwMoveMethod);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								WINBASEAPI BOOL WINAPI CloseHandle(HANDLE hObject);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								WINBASEAPI BOOL WINAPI WriteFile(HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten, LPOVERLAPPED lpOverlapped);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								int WINAPI MessageBoxW(HWND hWnd, LPCWSTR lpText, LPCWSTR lpCaption, UINT uType);
							 |