Hello,

This is a patch including the function to iterate through the system devices based on

http://msdn.microsoft.com/en-us/library/aa930135.aspx

Thanks,
Ryan
diff --git a/cegcc/src/w32api/include/winbase.h b/cegcc/src/w32api/include/winbase.h
index 0502602..33645fe 100644
--- a/cegcc/src/w32api/include/winbase.h
+++ b/cegcc/src/w32api/include/winbase.h
@@ -940,6 +940,25 @@ typedef struct _MEMORYSTATUS {
 	DWORD dwTotalVirtual;
 	DWORD dwAvailVirtual;
 } MEMORYSTATUS,*LPMEMORYSTATUS;
+
+#if (_WIN32_WCE >= 0x0500)
+typedef enum {
+  DeviceSearchByLegacyName,
+  DeviceSearchByDeviceName,
+  DeviceSearchByBusName,
+  DeviceSearchByGuid,
+  DeviceSearchByParent
+} DeviceSearchType;
+typedef struct _DevmgrDeviceInformation_tag {
+  DWORD dwSize;
+  HANDLE hDevice;
+  HANDLE hParentDevice;
+  WCHAR szLegacyName[6];
+  WCHAR szDeviceKey[MAX_PATH];
+  WCHAR szDeviceName[MAX_PATH];
+  WCHAR szBusName[MAX_PATH];
+} DEVMGR_DEVICE_INFORMATION, *PDEVMGR_DEVICE_INFORMATION;
+#endif
 #if (_WIN32_WINNT >= 0x0500)
 typedef struct _MEMORYSTATUSEX {
 	DWORD dwLength;
@@ -1354,6 +1373,9 @@ WINBASEAPI BOOL WINAPI EncryptFileW(LPCWSTR);
 WINBASEAPI BOOL WINAPI EndUpdateResourceA(HANDLE,BOOL);
 WINBASEAPI BOOL WINAPI EndUpdateResourceW(HANDLE,BOOL);
 WINBASEAPI void WINAPI EnterCriticalSection(LPCRITICAL_SECTION);
+# if (_WIN32_WCE >= 0x0500)
+WINBASEAPI BOOL WINAPI EnumDeviceInterfaces ( HANDLE, DWORD, GUID*, LPWSTR, LPDWORD );
+#endif
 WINBASEAPI BOOL WINAPI EnumResourceLanguagesA(HMODULE,LPCSTR,LPCSTR,ENUMRESLANGPROC,LONG_PTR);
 WINBASEAPI BOOL WINAPI EnumResourceLanguagesW(HMODULE,LPCWSTR,LPCWSTR,ENUMRESLANGPROC,LONG_PTR);
 WINBASEAPI BOOL WINAPI EnumResourceNamesA(HMODULE,LPCSTR,ENUMRESNAMEPROC,LONG_PTR);
@@ -1391,6 +1413,10 @@ WINBASEAPI BOOL WINAPI FindClose(HANDLE);
 WINBASEAPI BOOL WINAPI FindCloseChangeNotification(HANDLE);
 WINBASEAPI HANDLE WINAPI FindFirstChangeNotificationA(LPCSTR,BOOL,DWORD);
 WINBASEAPI HANDLE WINAPI FindFirstChangeNotificationW(LPCWSTR,BOOL,DWORD);
+# if (_WIN32_WCE >= 0x0500)
+WINBASEAPI HANDLE WINAPI FindFirstDevice( DeviceSearchType,LPCVOID, PDEVMGR_DEVICE_INFORMATION);
+WINBASEAPI BOOL   WINAPI FindNextDevice( HANDLE, PDEVMGR_DEVICE_INFORMATION );
+#endif
 WINBASEAPI HANDLE WINAPI FindFirstFileA(LPCSTR,LPWIN32_FIND_DATAA);
 WINBASEAPI HANDLE WINAPI FindFirstFileW(LPCWSTR,LPWIN32_FIND_DATAW);
 WINBASEAPI HANDLE WINAPI FindFirstFileExA(LPCSTR,FINDEX_INFO_LEVELS,PVOID,FINDEX_SEARCH_OPS,PVOID,DWORD);
@@ -1476,6 +1502,10 @@ WINBASEAPI DWORD WINAPI GetCurrentThreadId(void);
 WINBASEAPI BOOL WINAPI GetDefaultCommConfigA(LPCSTR,LPCOMMCONFIG,PDWORD);
 WINBASEAPI BOOL WINAPI GetDefaultCommConfigW(LPCWSTR,LPCOMMCONFIG,PDWORD);
 WINBASEAPI BOOL WINAPI GetDevicePowerState(HANDLE, BOOL*);
+# if (_WIN32_WCE >= 0x0500)
+WINBASEAPI BOOL   WINAPI GetDeviceInformationByDeviceHandle( HANDLE, PDEVMGR_DEVICE_INFORMATION);
+WINBASEAPI BOOL   WINAPI GetDeviceInformationByFileHandle( HANDLE, PDEVMGR_DEVICE_INFORMATION);
+#endif
 WINBASEAPI BOOL WINAPI GetDiskFreeSpaceA(LPCSTR,PDWORD,PDWORD,PDWORD,PDWORD);
 WINBASEAPI BOOL WINAPI GetDiskFreeSpaceW(LPCWSTR,PDWORD,PDWORD,PDWORD,PDWORD);
 WINBASEAPI BOOL WINAPI GetDiskFreeSpaceExA(LPCSTR,PULARGE_INTEGER,PULARGE_INTEGER,PULARGE_INTEGER);
------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________
Cegcc-devel mailing list
Cegcc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cegcc-devel

Reply via email to