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

Reply via email to