wcebase.h

来自「俄罗斯高人Mamaich的Pocket gcc编译器(运行在PocketPC上)」· C头文件 代码 · 共 284 行

H
284
字号
#ifndef _WCEBASE_H_#define _WCEBASE_H_#include <sys/wcetypes.h>/* Cache manipulation constants */#define CACHE_SYNC_DISCARD       (0x001)#define CACHE_SYNC_INSTRUCTIONS  (0x002)#define CACHE_SYNC_WRITEBACK	    (0x004)/* Kernel Constants from M$ kfuncs.h */#if defined(SARM) || defined(__arm__)#define PUserKData ((LPBYTE)0xFFFFC800)#else#define PUserKData ((LPBYTE)0x00005800)#endif#define SYSHANDLE_OFFSET 0x004#define NUM_SYS_HANDLES  32#define SYS_HANDLE_BASE	 64#define SH_WIN32                0#define SH_CURTHREAD            1#define SH_CURPROC              2/* Access Types */#define GENERIC_READ                     (0x80000000L)#define GENERIC_WRITE                    (0x40000000L)#define GENERIC_EXECUTE                  (0x20000000L)#define GENERIC_ALL                      (0x10000000L)#define DELETE                           (0x00010000L)#define READ_CONTROL                     (0x00020000L)#define WRITE_DAC                        (0x00040000L)#define WRITE_OWNER                      (0x00080000L)#define SYNCHRONIZE                      (0x00100000L)#define STANDARD_RIGHTS_REQUIRED         (0x000F0000L)#define STANDARD_RIGHTS_READ             (READ_CONTROL)#define STANDARD_RIGHTS_WRITE            (READ_CONTROL)#define STANDARD_RIGHTS_EXECUTE          (READ_CONTROL)#define STANDARD_RIGHTS_ALL              (0x001F0000L)#define SPECIFIC_RIGHTS_ALL              (0x0000FFFFL)/* Constants for SystemParametersInfo */#define SPI_GETPLATFORMTYPE              (257)#define SPI_GETOEMINFO                   (258)/* Toolhelp32 Constants */#define M$_MAX_PATH                      (260)#define TH32CS_GETALLMODS	               (0x80000000)#define TH32CS_SNAPHEAPLIST              (0x00000001)#define TH32CS_SNAPPROCESS               (0x00000002)#define TH32CS_SNAPTHREAD                (0x00000004)#define TH32CS_SNAPMODULE                (0x00000008)#define TH32CS_SNAPALL	(TH32CS_SNAPHEAPLIST | TH32CS_SNAPPROCESS | TH32CS_SNAPTHREAD | TH32CS_SNAPMODULE)#define HF32_DEFAULT		1#define LF32_FIXED                       (0x00000001)#define LF32_FREE                        (0x00000002)#define LF32_MOVEABLE                    (0x00000004)#define LF32_DECOMMIT                    (0x00000008)#define LF32_BIGBLOCK                    (0x00000010)/* DLL Constants */#define DLL_PROCESS_ATTACH 1    #define DLL_THREAD_ATTACH  2    #define DLL_THREAD_DETACH  3    #define DLL_PROCESS_DETACH 0    #define DLL_PROCESS_EXITING 4#define DLL_SYSTEM_STARTED 5#define DLL_MEMORY_LOW 6typedef struct _SECURITY_ATTRIBUTES {  DWORD nLength;  LPVOID lpSecurityDescriptor;  BOOL bInheritHandle;} SECURITY_ATTRIBUTES, *PSECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES;typedef struct _PROCESS_INFORMATION {  HANDLE  hProcess;  HANDLE  hThread;  DWORD   dwProcessId;  DWORD   dwThreadId;} PROCESS_INFORMATION, *LPPROCESS_INFORMATION;typedef struct _STARTUPINFOW {  DWORD   cb;  LPWSTR  lpReserved;  LPWSTR  lpDesktop;  LPWSTR  lpTitle;  DWORD   dwX;  DWORD   dwY;  DWORD   dwXSize;  DWORD   dwYSize;  DWORD   dwXCountChars;  DWORD   dwYCountChars;  DWORD   dwFillAttribute;  DWORD   dwFlags;  WORD    wShowWindow;  WORD    cbReserved2;  LPBYTE  lpReserved2;  HANDLE  hStdInput;  HANDLE  hStdOutput;  HANDLE  hStdError;} STARTUPINFOW, *LPSTARTUPINFOW;typedef struct _SYSTEM_INFO {  union {    DWORD dwOemId;          /* Obsolete field...do not use */    struct {      WORD wProcessorArchitecture;      WORD wReserved;    };  };  DWORD dwPageSize;  LPVOID lpMinimumApplicationAddress;  LPVOID lpMaximumApplicationAddress;  DWORD dwActiveProcessorMask;  DWORD dwNumberOfProcessors;  DWORD dwProcessorType;  DWORD dwAllocationGranularity;  WORD wProcessorLevel;  WORD wProcessorRevision;} SYSTEM_INFO, *LPSYSTEM_INFO;typedef struct _OSVERSIONINFOW {  DWORD dwOSVersionInfoSize;  DWORD dwMajorVersion;  DWORD dwMinorVersion;  DWORD dwBuildNumber;  DWORD dwPlatformId;  WCHAR  szCSDVersion[128];} OSVERSIONINFOW, *POSVERSIONINFOW, *LPOSVERSIONINFOW;typedef struct _SYSTEM_POWER_STATUS_EX2 {  BYTE ACLineStatus;  BYTE BatteryFlag;  BYTE BatteryLifePercent;  BYTE Reserved1;  DWORD BatteryLifeTime;  DWORD BatteryFullLifeTime;  BYTE Reserved2;  BYTE BackupBatteryFlag;  BYTE BackupBatteryLifePercent;  BYTE Reserved3;  DWORD BackupBatteryLifeTime;  DWORD BackupBatteryFullLifeTime;  DWORD BatteryVoltage;  DWORD BatteryCurrent;  DWORD BatteryAverageCurrent;  DWORD BatteryAverageInterval;  DWORD BatterymAHourConsumed;  DWORD BatteryTemperature;  DWORD BackupBatteryVoltage;  BYTE  BatteryChemistry;} SYSTEM_POWER_STATUS_EX2, *PSYSTEM_POWER_STATUS_EX2, *LPSYSTEM_POWER_STATUS_EX2;/* Toolhelp 32 Stuff */typedef struct _HEAPLIST32 {  DWORD dwSize;  DWORD th32ProcessID;  DWORD th32HeapID;  DWORD dwFlags;} HEAPLIST32, *PHEAPLIST32, *LPHEAPLIST32;typedef struct _HEAPENTRY32 {  DWORD dwSize;  HANDLE hHandle;  DWORD dwAddress;  DWORD dwBlockSize;  DWORD dwFlags;  DWORD dwLockCount;  DWORD dwResvd;  DWORD th32ProcessID;  DWORD th32HeapID;} HEAPENTRY32, *PHEAPENTRY32, *LPHEAPENTRY32;typedef struct _PROCESSENTRY32 {  DWORD dwSize;  DWORD cntUsage;  DWORD th32ProcessID;  DWORD th32DefaultHeapID;  DWORD th32ModuleID;  DWORD cntThreads;  DWORD th32ParentProcessID;  LONG  pcPriClassBase;  DWORD dwFlags;  TCHAR szExeFile[M$_MAX_PATH];  DWORD	th32MemoryBase;  DWORD	th32AccessKey;} PROCESSENTRY32, *PPROCESSENTRY32, *LPPROCESSENTRY32;typedef struct _THREADENTRY32 {  DWORD dwSize;  DWORD cntUsage;  DWORD th32ThreadID;  DWORD th32OwnerProcessID;  LONG  tpBasePri;  LONG  tpDeltaPri;  DWORD dwFlags;  DWORD	th32AccessKey;  DWORD	th32CurrentProcessID;} THREADENTRY32, *PTHREADENTRY32, *LPTHREADENTRY32;typedef struct _MODULEENTRY32 {  DWORD dwSize;  DWORD th32ModuleID;  DWORD th32ProcessID;  DWORD GlblcntUsage;  DWORD ProccntUsage;  BYTE *modBaseAddr;  DWORD modBaseSize;  HMODULE hModule;  TCHAR szModule[M$_MAX_PATH];  TCHAR szExePath[M$_MAX_PATH];  DWORD	dwFlags;} MODULEENTRY32, *PMODULEENTRY32, *LPMODULEENTRY32;#ifdef __cplusplusextern "C" {#endifDWORD  CacheSync(DWORD);BOOL   CreateProcessW(LPCWSTR, LPCWSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, BOOL, DWORD, LPVOID, LPWSTR, LPSTARTUPINFOW, LPPROCESS_INFORMATION);VOID   DebugBreak();int    ExtEscape(HDC, int, int, LPCSTR, int, LPSTR);BOOL   FlushFileBuffers(HANDLE);BOOL   FlushInstructionCache(HANDLE, LPCVOID, DWORD);LPWSTR GetCommandLineW();HDC    GetDC();DWORD  GetLastError();DWORD  GetModuleFileNameW(HANDLE, LPWSTR, DWORD);HANDLE GetModuleHandleW(LPWSTR);VOID  *GetProcAddressA(HANDLE, LPSTR);VOID  *GetProcAddressW(HANDLE, LPWSTR);VOID   GetSystemInfo(LPSYSTEM_INFO);DWORD  GetSystemPowerStatusEx2(PSYSTEM_POWER_STATUS_EX2, DWORD, BOOL);DWORD  GetTickCount();LONG   InterlockedIncrement(LPLONG);LONG   InterlockedDecrement(LPLONG);LONG   InterlockedExchange(LPLONG, LONG);LONG   InterlockedTestExchange(LPLONG, LONG, LONG);HANDLE LoadLibraryW(LPWSTR);HANDLE LoadLibraryExW(LPWSTR, HANDLE, DWORD);HANDLE OpenProcess(DWORD, BOOL, DWORD);BOOL   ReadProcessMemory(HANDLE, LPCVOID, LPVOID, DWORD, LPDWORD);int    ReleaseDC(HWND, HDC);BOOL   WriteProcessMemory(HANDLE, LPVOID, LPVOID, DWORD, LPDWORD);VOID   SetLastError(DWORD);VOID   Sleep(DWORD);BOOL   SystemParametersInfoW(UINT, UINT, PVOID, UINT);BOOL   TerminateProcess(HANDLE, DWORD);/* Toolhelp Methods */HANDLE CreateToolhelp32Snapshot(DWORD, DWORD);BOOL   CloseToolhelp32Snapshot(HANDLE);BOOL   Process32First(HANDLE, LPPROCESSENTRY32);BOOL   Process32Next(HANDLE, LPPROCESSENTRY32);BOOL   Thread32First(HANDLE, LPTHREADENTRY32);BOOL   Thread32Next(HANDLE, LPTHREADENTRY32);BOOL   Module32First(HANDLE, LPMODULEENTRY32);BOOL   Module32Next(HANDLE, LPMODULEENTRY32);BOOL   Heap32ListFirst(HANDLE, LPHEAPLIST32);BOOL   Heap32ListNext(HANDLE, LPHEAPLIST32);#ifdef __cplusplus}#endif#define InterlockedCompareExchange(ptr, newval, oldval) \	((PVOID)InterlockedTestExchange((LPLONG)ptr, (LONG)oldval, (LONG)newval))/* Process/Thread ID Methods */#define GetCurrentThread() ((HANDLE)(SH_CURTHREAD+SYS_HANDLE_BASE))#define GetCurrentProcess() ((HANDLE)(SH_CURPROC+SYS_HANDLE_BASE))#define GetCurrentThreadId() ((DWORD)(((HANDLE *)(PUserKData+SYSHANDLE_OFFSET))[SH_CURTHREAD]))#define GetCurrentProcessId() ((DWORD)(((HANDLE *)(PUserKData+SYSHANDLE_OFFSET))[SH_CURPROC]))#endif  /* _WCEBASE_H_ */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?