diff --git a/dlls/setupapi/devinst.c b/dlls/setupapi/devinst.c index 36261036bd..800ea229f8 100644 --- a/dlls/setupapi/devinst.c +++ b/dlls/setupapi/devinst.c @@ -22,6 +22,7 @@ #include "winbase.h" #include "setupx16.h" #include "wine/debug.h" +#include "setupapi.h" WINE_DEFAULT_DEBUG_CHANNEL(setupapi); @@ -42,3 +43,86 @@ RETERR16 WINAPI DiGetClassDevs16(LPLPDEVICE_INFO16 lplpdi, *lplpdi = lpdi; return OK; } + +BOOL WINAPI SetupDiGetDeviceInterfaceDetailA( + HDEVINFO DeviceInfoSet, + PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData, + PSP_DEVICE_INTERFACE_DETAIL_DATAA DeviceInterfaceDetailData, + DWORD DeviceInterfaceDetailDataSize, + PDWORD RequiredSize, + PSP_DEVINFO_DATA DeviceInfoData ) +{ + FIXME("\n"); + return FALSE; +} + +BOOL WINAPI SetupDiGetDeviceInterfaceDetailW( + HDEVINFO DeviceInfoSet, + PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData, + PSP_DEVICE_INTERFACE_DETAIL_DATAW DeviceInterfaceDetailData, + DWORD DeviceInterfaceDetailDataSize, + PDWORD RequiredSize, + PSP_DEVINFO_DATA DeviceInfoData ) +{ + FIXME("\n"); + return FALSE; +} + +BOOL WINAPI SetupDiEnumDeviceInterfaces( + HDEVINFO DeviceInfoSet, + PSP_DEVINFO_DATA DeviceInfoData, + CONST GUID * InterfaceClassGuid, + DWORD MemberIndex, + PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData) +{ + FIXME("\n"); + return FALSE; +} + +HDEVINFO WINAPI SetupDiGetClassDevsA( + CONST GUID *class, + LPCSTR enumstr, + HWND parent, + DWORD flags) +{ + FIXME("%s %s %04x %08lx\n",debugstr_guid(class),enumstr,parent,flags); + + return NULL; +} + +BOOL WINAPI SetupDiEnumDeviceInfo( + HDEVINFO devinfo, + DWORD index, + PSP_DEVINFO_DATA info) +{ + FIXME("%p %ld %p\n", devinfo, index, info ); + + if(info==NULL) + return FALSE; + if(info->cbSize < sizeof *info) + return FALSE; + + return FALSE; +} + +BOOL WINAPI SetupDiDestroyDeviceInfoList( HDEVINFO devinfo ) +{ + FIXME("%04lx\n", (DWORD)devinfo); + return FALSE; +} + +BOOL WINAPI SetupDiGetDeviceRegistryPropertyA( + HDEVINFO devinfo, + PSP_DEVINFO_DATA DeviceInfoData, + DWORD Property, + PDWORD PropertyRegDataType, + PBYTE PropertyBuffer, + DWORD PropertyBufferSize, + PDWORD RequiredSize) +{ + FIXME("%04lx %p %ld %p %p %ld %p\n", (DWORD)devinfo, DeviceInfoData, + Property, PropertyRegDataType, PropertyBuffer, PropertyBufferSize, + RequiredSize); + return FALSE; +} + diff --git a/dlls/setupapi/setupapi.spec b/dlls/setupapi/setupapi.spec index f332050cfb..42234f5b43 100644 --- a/dlls/setupapi/setupapi.spec +++ b/dlls/setupapi/setupapi.spec @@ -90,10 +90,11 @@ name setupapi @ stub SetupDiDeleteDevRegKey @ stub SetupDiDeleteDeviceInfo @ stub SetupDiDestroyClassImageList -@ stub SetupDiDestroyDeviceInfoList +@ stdcall SetupDiDestroyDeviceInfoList(long) SetupDiDestroyDeviceInfoList @ stub SetupDiDestroyDriverInfoList @ stub SetupDiDrawMiniIcon -@ stub SetupDiEnumDeviceInfo +@ stdcall SetupDiEnumDeviceInfo(long long ptr) SetupDiEnumDeviceInfo +@ stdcall SetupDiEnumDeviceInterfaces(long ptr ptr long ptr) SetupDiEnumDeviceInterfaces @ stub SetupDiEnumDriverInfoA @ stub SetupDiEnumDriverInfoW @ stub SetupDiGetActualSectionToInstallA @@ -103,7 +104,7 @@ name setupapi @ stub SetupDiGetClassDescriptionW @ stub SetupDiGetClassDevPropertySheetsA @ stub SetupDiGetClassDevPropertySheetsW -@ stub SetupDiGetClassDevsA +@ stdcall SetupDiGetClassDevsA(ptr ptr long long) SetupDiGetClassDevsA @ stub SetupDiGetClassDevsW @ stub SetupDiGetClassImageIndex @ stub SetupDiGetClassImageList @@ -114,12 +115,15 @@ name setupapi @ stub SetupDiGetDeviceInstallParamsW @ stub SetupDiGetDeviceInstanceIdA @ stub SetupDiGetDeviceInstanceIdW -@ stub SetupDiGetDeviceRegistryPropertyA +@ stdcall SetupDiGetDeviceRegistryPropertyA(long ptr long ptr ptr long ptr) SetupDiGetDeviceRegistryPropertyA @ stub SetupDiGetDeviceRegistryPropertyW @ stub SetupDiGetDriverInfoDetailA @ stub SetupDiGetDriverInfoDetailW @ stub SetupDiGetDriverInstallParamsA @ stub SetupDiGetDriverInstallParamsW +@ stub SetupDiGetDeviceInterfaceAlias +@ stdcall SetupDiGetDeviceInterfaceDetailA(long ptr ptr long ptr ptr) SetupDiGetDeviceInterfaceDetailA +@ stdcall SetupDiGetDeviceInterfaceDetailW(long ptr ptr long ptr ptr) SetupDiGetDeviceInterfaceDetailW @ stub SetupDiGetHwProfileFriendlyNameA @ stub SetupDiGetHwProfileFriendlyNameW @ stub SetupDiGetHwProfileList diff --git a/include/setupapi.h b/include/setupapi.h index df3de2218a..0d533a42fc 100644 --- a/include/setupapi.h +++ b/include/setupapi.h @@ -130,6 +130,29 @@ typedef struct _SP_DEVINFO_DATA DWORD Reserved; } SP_DEVINFO_DATA, *PSP_DEVINFO_DATA; +typedef struct _SP_DEVICE_INTERFACE_DATA +{ + DWORD cbSize; + GUID InterfaceClassGuid; + DWORD Flags; + ULONG_PTR Reserved; +} SP_DEVICE_INTERFACE_DATA, *PSP_DEVICE_INTERFACE_DATA; + +typedef struct _SP_DEVICE_INTERFACE_DETAIL_DATAA +{ + DWORD cbSize; + CHAR DevicePath[ANYSIZE_ARRAY]; +} SP_DEVICE_INTERFACE_DETAIL_DATAA, *PSP_DEVICE_INTERFACE_DETAIL_DATAA; + +typedef struct _SP_DEVICE_INTERFACE_DETAIL_DATAW +{ + DWORD cbSize; + WCHAR DevicePath[ANYSIZE_ARRAY]; +} SP_DEVICE_INTERFACE_DETAIL_DATAW, *PSP_DEVICE_INTERFACE_DETAIL_DATAW; + +DECL_WINELIB_TYPE_AW(SP_DEVICE_INTERFACE_DETAIL_DATA) +DECL_WINELIB_TYPE_AW(PSP_DEVICE_INTERFACE_DETAIL_DATA) + #define INF_STYLE_NONE 0x00 #define INF_STYLE_OLDNT 0x01 #define INF_STYLE_WIN4 0x02