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
[email protected]
https://lists.sourceforge.net/lists/listinfo/cegcc-devel