Kevin O'Connor wrote:
Hi,
This is a resend of a patch I sent last week. I'm including
additional information on each of the changes.
Thank you for doing this.
I've tweaked a bit the patch, and added a few validations for the CE
version being compiled.
Also, CloseToolhelp32Snapshot is Windows CE only. Desktop versions of Windows
use the standard
CloseHandle to close a snapshot. That is described here:
http://msdn2.microsoft.com/en-us/library/ms682489.aspx
The committed patch is attached, and the updated ChangeLog entry is below.
Cheers,
Pedro Alves
---
src/w32api/ChangeLog.ce:
2006-11-12 Kevin O'Connor <[EMAIL PROTECTED]>
* include/tlhelp32.h (CloseToolhelp32Snapshot): Define.
CE's Toolhelp functions/structures although wide, don't take the
W suffix. Adapt.
* include/winnt.h (PAGE_PHYSICAL): Define.
* include/winbase.h (GetStoreInformation, CeSetThreadQuantum,
LockResource): Define.
* include/winuser.h (CheckDlgButton): Define in terms of
SendDlgItemMessage.
(CreateDialogParamW): Define using CreateDialogIndirectParamW.
Index: tlhelp32.h
===================================================================
--- tlhelp32.h (revision 793)
+++ tlhelp32.h (working copy)
@@ -70,7 +70,11 @@
DWORD th32ParentProcessID;
LONG pcPriClassBase;
DWORD dwFlags;
- CHAR szExeFile[MAX_PATH];
+#ifdef _WIN32_WCE
+ WCHAR szExeFile[MAX_PATH];
+#else
+ CHAR szExeFile[MAX_PATH];
+#endif
} PROCESSENTRY32,*PPROCESSENTRY32,*LPPROCESSENTRY32;
typedef struct tagTHREADENTRY32 {
DWORD dwSize;
@@ -102,8 +106,13 @@
BYTE *modBaseAddr;
DWORD modBaseSize;
HMODULE hModule;
- char szModule[MAX_MODULE_NAME32 + 1];
- char szExePath[MAX_PATH];
+#ifdef _WIN32_WCE
+ WCHAR szModule[MAX_MODULE_NAME32 + 1];
+ WCHAR szExePath[MAX_PATH];
+#else
+ CHAR szModule[MAX_MODULE_NAME32 + 1];
+ CHAR szExePath[MAX_PATH];
+#endif
} MODULEENTRY32,*PMODULEENTRY32,*LPMODULEENTRY32;
BOOL WINAPI Heap32First(LPHEAPENTRY32,DWORD,DWORD);
BOOL WINAPI Heap32ListFirst(HANDLE,LPHEAPLIST32);
@@ -121,7 +130,10 @@
BOOL WINAPI Thread32Next(HANDLE,LPTHREADENTRY32);
BOOL WINAPI Toolhelp32ReadProcessMemory(DWORD,LPCVOID,LPVOID,DWORD,LPDWORD);
HANDLE WINAPI CreateToolhelp32Snapshot(DWORD,DWORD);
-#ifdef UNICODE
+#if (_WIN32_WCE >= 0x200)
+BOOL WINAPI CloseToolhelp32Snapshot(HANDLE hSnapshot);
+#endif
+#if defined(UNICODE) && !defined(_WIN32_WCE)
#define LPMODULEENTRY32 LPMODULEENTRY32W
#define LPPROCESSENTRY32 LPPROCESSENTRY32W
#define MODULEENTRY32 MODULEENTRY32W
@@ -132,7 +144,7 @@
#define PROCESSENTRY32 PROCESSENTRY32W
#define Process32First Process32FirstW
#define Process32Next Process32NextW
-#endif /* UNICODE */
+#endif /* UNICODE && !_WIN32_WCE */
#ifdef __cplusplus
}
#endif
Index: winnt.h
===================================================================
--- winnt.h (revision 793)
+++ winnt.h (working copy)
@@ -1015,6 +1015,7 @@
#define PAGE_EXECUTE_WRITECOPY 0x0080
#define PAGE_GUARD 0x0100
#define PAGE_NOCACHE 0x0200
+#define PAGE_PHYSICAL 0x0400
#define MEM_COMMIT 0x1000
#define MEM_RESERVE 0x2000
#define MEM_DECOMMIT 0x4000
Index: winbase.h
===================================================================
--- winbase.h (revision 793)
+++ winbase.h (working copy)
@@ -1728,7 +1728,11 @@
WINBASEAPI BOOL WINAPI LocalUnlock(HLOCAL);
WINBASEAPI BOOL WINAPI LockFile(HANDLE,DWORD,DWORD,DWORD,DWORD);
WINBASEAPI BOOL WINAPI LockFileEx(HANDLE,DWORD,DWORD,DWORD,DWORD,LPOVERLAPPED);
+#ifdef _WIN32_WCE
+#define LockResource(h) ((PVOID)(h))
+#else
WINBASEAPI PVOID WINAPI LockResource(HGLOBAL);
+#endif
#define LockSegment(w) GlobalFix((HANDLE)(w)) /* Obsolete: Has no effect. */
WINBASEAPI BOOL WINAPI LogonUserA(LPSTR,LPSTR,LPSTR,DWORD,DWORD,PHANDLE);
WINBASEAPI BOOL WINAPI LogonUserW(LPWSTR,LPWSTR,LPWSTR,DWORD,DWORD,PHANDLE);
@@ -2040,6 +2044,18 @@
WINBASEAPI BOOL WINAPI
MapUserPhysicalPagesScatter(PVOID*,ULONG_PTR,PULONG_PTR);
#endif
+#ifdef _WIN32_WCE
+typedef struct STORE_INFORMATION {
+ DWORD dwStoreSize;
+ DWORD dwFreeSize;
+} STORE_INFORMATION, *LPSTORE_INFORMATION;
+WINBASEAPI BOOL GetStoreInformation(LPSTORE_INFORMATION lpsi);
+#endif
+
+#if (_WIN32_WCE >= 0x300)
+WINBASEAPI BOOL CeSetThreadQuantum(HANDLE hThread, DWORD dwTime);
+#endif
+
#ifdef UNICODE
typedef STARTUPINFOW STARTUPINFO,*LPSTARTUPINFO;
typedef WIN32_FIND_DATAW WIN32_FIND_DATA,*PWIN32_FIND_DATA,*LPWIN32_FIND_DATA;
Index: winuser.h
===================================================================
--- winuser.h (revision 793)
+++ winuser.h (working copy)
@@ -3396,7 +3396,11 @@
WINUSERAPI LPWSTR WINAPI CharUpperW(LPWSTR);
WINUSERAPI DWORD WINAPI CharUpperBuffA(LPSTR,DWORD);
WINUSERAPI DWORD WINAPI CharUpperBuffW(LPWSTR,DWORD);
+#ifdef _WIN32_WCE
+#define CheckDlgButton(h,i,c) SendDlgItemMessageW(h, i, BM_SETCHECK,
(WPARAM)(c), 0)
+#else
WINUSERAPI BOOL WINAPI CheckDlgButton(HWND,int,UINT);
+#endif
WINUSERAPI DWORD WINAPI CheckMenuItem(HMENU,UINT,UINT);
WINUSERAPI BOOL WINAPI CheckMenuRadioItem(HMENU,UINT,UINT,UINT,UINT);
WINUSERAPI BOOL WINAPI CheckRadioButton(HWND,int,int,int);
@@ -3429,8 +3433,12 @@
#define CreateDialogIndirectW(h,t,w,f) CreateDialogIndirectParamW(h,t,w,f,0)
WINUSERAPI HWND WINAPI
CreateDialogIndirectParamA(HINSTANCE,LPCDLGTEMPLATE,HWND,DLGPROC,LPARAM);
WINUSERAPI HWND WINAPI
CreateDialogIndirectParamW(HINSTANCE,LPCDLGTEMPLATE,HWND,DLGPROC,LPARAM);
+#ifdef _WIN32_WCE
+#define CreateDialogParamW(h,n,w,f,p) CreateDialogIndirectParamW(h,
(LPCDLGTEMPLATE)LoadResource(h, FindResource(h, n, RT_DIALOG)), w, f, p)
+#else
WINUSERAPI HWND WINAPI
CreateDialogParamA(HINSTANCE,LPCSTR,HWND,DLGPROC,LPARAM);
WINUSERAPI HWND WINAPI
CreateDialogParamW(HINSTANCE,LPCWSTR,HWND,DLGPROC,LPARAM);
+#endif
WINUSERAPI HICON WINAPI CreateIcon(HINSTANCE,int,int,BYTE,BYTE,const
BYTE*,const BYTE*);
WINUSERAPI HICON WINAPI CreateIconFromResource(PBYTE,DWORD,BOOL,DWORD);
WINUSERAPI HICON WINAPI
CreateIconFromResourceEx(PBYTE,DWORD,BOOL,DWORD,int,int,UINT);
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Cegcc-devel mailing list
Cegcc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cegcc-devel