Module: wine Branch: master Commit: aa2b23cab5aeabc893d9d635848f7357064614e0 URL: http://source.winehq.org/git/wine.git/?a=commit;h=aa2b23cab5aeabc893d9d63584...
Author: Juan Lang juan.lang@gmail.com Date: Fri Sep 21 11:34:30 2007 -0700
setupapi: Implement SetupDiCreateDeviceInterfaceA on top of SetupDiCreateInterfaceW.
---
dlls/setupapi/devinst.c | 18 ++++++++++++++++-- 1 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/dlls/setupapi/devinst.c b/dlls/setupapi/devinst.c index 35d2b78..2129296 100644 --- a/dlls/setupapi/devinst.c +++ b/dlls/setupapi/devinst.c @@ -1767,12 +1767,26 @@ BOOL WINAPI SetupDiCreateDeviceInterfaceA( DWORD CreationFlags, PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData) { + BOOL ret; + LPWSTR ReferenceStringW = NULL; + TRACE("%p %p %s %s %08x %p\n", DeviceInfoSet, DeviceInfoData, debugstr_guid(InterfaceClassGuid), debugstr_a(ReferenceString), CreationFlags, DeviceInterfaceData);
- FIXME("stub\n"); - return FALSE; + if (ReferenceString) + { + ReferenceStringW = MultiByteToUnicode(ReferenceString, CP_ACP); + if (ReferenceStringW == NULL) return FALSE; + } + + ret = SetupDiCreateDeviceInterfaceW(DeviceInfoSet, DeviceInfoData, + InterfaceClassGuid, ReferenceStringW, CreationFlags, + DeviceInterfaceData); + + MyFree(ReferenceStringW); + + return ret; }
/***********************************************************************