Module: wine Branch: master Commit: 9ac11e38647c9844adfaa575f968881b2c8169c4 URL: http://source.winehq.org/git/wine.git/?a=commit;h=9ac11e38647c9844adfaa575f9...
Author: Juan Lang juan.lang@gmail.com Date: Mon Sep 24 12:45:42 2007 -0700
setupapi: Implement SetupDiGetDeviceInfoListDetailA/W.
---
dlls/setupapi/devinst.c | 66 +++++++++++++++++++++++++++++++++++++++++++++++ dlls/setupapi/stubs.c | 18 ------------- 2 files changed, 66 insertions(+), 18 deletions(-)
diff --git a/dlls/setupapi/devinst.c b/dlls/setupapi/devinst.c index a5356e5..85ef0ac 100644 --- a/dlls/setupapi/devinst.c +++ b/dlls/setupapi/devinst.c @@ -2103,6 +2103,72 @@ HDEVINFO WINAPI SetupDiGetClassDevsExW( }
/*********************************************************************** + * SetupDiGetDeviceInfoListDetailA (SETUPAPI.@) + */ +BOOL WINAPI SetupDiGetDeviceInfoListDetailA( + HDEVINFO DeviceInfoSet, + PSP_DEVINFO_LIST_DETAIL_DATA_A DevInfoData ) +{ + struct DeviceInfoSet *set = (struct DeviceInfoSet *)DeviceInfoSet; + + TRACE("%p %p\n", DeviceInfoSet, DevInfoData); + + if (!DeviceInfoSet || DeviceInfoSet == (HDEVINFO)INVALID_HANDLE_VALUE) + { + SetLastError(ERROR_INVALID_HANDLE); + return FALSE; + } + if (set->magic != SETUP_DEVICE_INFO_SET_MAGIC) + { + SetLastError(ERROR_INVALID_HANDLE); + return FALSE; + } + if (!DevInfoData || + DevInfoData->cbSize != sizeof(SP_DEVINFO_LIST_DETAIL_DATA_A)) + { + SetLastError(ERROR_INVALID_PARAMETER); + return FALSE; + } + memcpy(&DevInfoData->ClassGuid, &set->ClassGuid, sizeof(GUID)); + DevInfoData->RemoteMachineHandle = NULL; + DevInfoData->RemoteMachineName[0] = '\0'; + return TRUE; +} + +/*********************************************************************** + * SetupDiGetDeviceInfoListDetailW (SETUPAPI.@) + */ +BOOL WINAPI SetupDiGetDeviceInfoListDetailW( + HDEVINFO DeviceInfoSet, + PSP_DEVINFO_LIST_DETAIL_DATA_W DevInfoData ) +{ + struct DeviceInfoSet *set = (struct DeviceInfoSet *)DeviceInfoSet; + + TRACE("%p %p\n", DeviceInfoSet, DevInfoData); + + if (!DeviceInfoSet || DeviceInfoSet == (HDEVINFO)INVALID_HANDLE_VALUE) + { + SetLastError(ERROR_INVALID_HANDLE); + return FALSE; + } + if (set->magic != SETUP_DEVICE_INFO_SET_MAGIC) + { + SetLastError(ERROR_INVALID_HANDLE); + return FALSE; + } + if (!DevInfoData || + DevInfoData->cbSize != sizeof(SP_DEVINFO_LIST_DETAIL_DATA_W)) + { + SetLastError(ERROR_INVALID_PARAMETER); + return FALSE; + } + memcpy(&DevInfoData->ClassGuid, &set->ClassGuid, sizeof(GUID)); + DevInfoData->RemoteMachineHandle = NULL; + DevInfoData->RemoteMachineName[0] = '\0'; + return TRUE; +} + +/*********************************************************************** * SetupDiCreateDeviceInterfaceA (SETUPAPI.@) */ BOOL WINAPI SetupDiCreateDeviceInterfaceA( diff --git a/dlls/setupapi/stubs.c b/dlls/setupapi/stubs.c index bf3fa90..3342a65 100644 --- a/dlls/setupapi/stubs.c +++ b/dlls/setupapi/stubs.c @@ -50,24 +50,6 @@ DWORD WINAPI suErrorToIds16( WORD w1, WORD w2 ) }
/*********************************************************************** - * SetupDiGetDeviceInfoListDetailA (SETUPAPI.@) - */ -BOOL WINAPI SetupDiGetDeviceInfoListDetailA(HDEVINFO devinfo, PSP_DEVINFO_LIST_DETAIL_DATA_A devinfo_data ) -{ - FIXME("\n"); - return FALSE; -} - -/*********************************************************************** - * SetupDiGetDeviceInfoListDetailW (SETUPAPI.@) - */ -BOOL WINAPI SetupDiGetDeviceInfoListDetailW(HDEVINFO devinfo, PSP_DEVINFO_LIST_DETAIL_DATA_W devinfo_data ) -{ - FIXME("\n"); - return FALSE; -} - -/*********************************************************************** * (SETUPAPI.@) * * NO WINAPI in description given