https://bugs.winehq.org/show_bug.cgi?id=45963
--- Comment #4 from Gerold Gerold.Ruhland@gmx-topmail.de --- I uploaded a test program written in Delphi based on these investigations:
Based on Wine 2.8 sources =========================
My result: declared in spec file @ stdcall = function can be called; is working or prints a FixMe @ stub = function not working but GetProcAddress returns a value not declared in spec file = GetProcAddress returns NULL
1. SetupDiEnumDeviceInterfaces (Working function) -------------------------------------------------
GetProcAddress:
Found in setupapi.h (include folder) BOOL WINAPI SetupDiEnumDeviceInterfaces(HDEVINFO, PSP_DEVINFO_DATA, const GUID *, DWORD, PSP_DEVICE_INTERFACE_DATA);
Found in setupapi.spec @ stdcall SetupDiEnumDeviceInterfaces(long ptr ptr long ptr)
Found in devinst.c (setupapi folder) BOOL WINAPI SetupDiEnumDeviceInterfaces(HDEVINFO DeviceInfoSet, PSP_DEVINFO_DATA DeviceInfoData, const GUID *InterfaceClassGuid, DWORD MemberIndex, PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData) { ... working code }
2. SetupDiSetDeviceInstallParamsW (Prints a FixMe) --------------------------------------------------
GetProcAddress:
Found in setupapi.h BOOL WINAPI SetupDiSetDeviceInstallParamsW(HDEVINFO, PSP_DEVINFO_DATA, PSP_DEVINSTALL_PARAMS_W);
Found in setupapi.spec @ stdcall SetupDiSetDeviceInstallParamsW(ptr ptr ptr)
Found in devinst.c BOOL WINAPI SetupDiSetDeviceInstallParamsW( HDEVINFO DeviceInfoSet, PSP_DEVINFO_DATA DeviceInfoData, PSP_DEVINSTALL_PARAMS_W DeviceInstallParams) { FIXME("(%p, %p, %p) stub\n", DeviceInfoSet, DeviceInfoData, DeviceInstallParams);
return TRUE; }
3. SetupDiDeleteDeviceInterfaceData (NOT working) -------------------------------------------------
GetProcAddress:
Found in setupapi.h (include folder) BOOL WINAPI SetupDiDeleteDeviceInterfaceData(HDEVINFO, PSP_DEVICE_INTERFACE_DATA);
Found in setupapi.spec @ stub SetupDiDeleteDeviceInterfaceData
NOT Found in devinst.c
4. SetupDiInstallDevice (NOT working) -------------------------------------
GetProcAddress:
Found in setupapi.h (include folder) BOOL WINAPI SetupDiInstallDevice(HDEVINFO, PSP_DEVINFO_DATA);
Found in setupapi.spec @ stub SetupDiInstallDevice
NOT Found in devinst.c
5. SetupDiInstallDeviceInterfaces (NOT working) -----------------------------------------------
GetProcAddress:
Found in setupapi.h (include folder) BOOL WINAPI SetupDiInstallDeviceInterfaces(HDEVINFO, PSP_DEVINFO_DATA);
NOT Found in setupapi.spec
NOT Found in devinst.c
6. SetupDiRegisterCoDeviceInstallers (NOT working) --------------------------------------------------
GetProcAddress:
Found in setupapi.h (include folder) BOOL WINAPI SetupDiRegisterCoDeviceInstallers(HDEVINFO, PSP_DEVINFO_DATA);
NOT Found in setupapi.spec
NOT Found in devinst.c