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