forked from Mirrors/wine-wine
Implement SetupDiBuildClassInfoList(ExW),
SetupDiClassGuidsFromName(W/ExW), SetupDiClassNameFromGuid(W/ExW), SetupDiGetActualSectionToInstallW, SetupDiGetClassDescription(W/ExW), SetupDiInstallClassW partially, SetupDiOpenClassRegKey(ExW), SetupOpenMasterInf.oldstable
parent
44158dd690
commit
faa7df1e08
|
@ -23,6 +23,7 @@
|
|||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "winuser.h"
|
||||
#include "winreg.h"
|
||||
#include "setupapi.h"
|
||||
#include "advpub.h"
|
||||
#include "wine/debug.h"
|
||||
|
|
|
@ -4,7 +4,7 @@ TOPOBJDIR = ../..
|
|||
SRCDIR = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
MODULE = setupapi.dll
|
||||
IMPORTS = user32 version advapi32 kernel32 ntdll
|
||||
IMPORTS = user32 version advapi32 rpcrt4 kernel32 ntdll
|
||||
DELAYIMPORTS = shell32
|
||||
EXTRALIBS = $(LIBUNICODE)
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1162,6 +1162,21 @@ BOOL WINAPI SetupOpenAppendInfFileW( PCWSTR name, HINF parent_hinf, UINT *error
|
|||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* SetupOpenMasterInf (SETUPAPI.@)
|
||||
*/
|
||||
HINF WINAPI SetupOpenMasterInf( VOID )
|
||||
{
|
||||
static const WCHAR Layout[] = {'\\','i','n','f','\\', 'l', 'a', 'y', 'o', 'u', 't', '.', 'i', 'n', 'f', 0};
|
||||
WCHAR Buffer[MAX_PATH];
|
||||
|
||||
GetWindowsDirectoryW( Buffer, MAX_PATH );
|
||||
strcatW( Buffer, Layout );
|
||||
return SetupOpenInfFileW( Buffer, NULL, INF_STYLE_WIN4, NULL);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* SetupCloseInfFile (SETUPAPI.@)
|
||||
*/
|
||||
|
|
|
@ -245,7 +245,7 @@
|
|||
@ stdcall SetupCloseFileQueue(ptr)
|
||||
@ stdcall SetupCloseInfFile(long)
|
||||
@ stub SetupCloseLog
|
||||
@ stub SetupCommitFileQueue
|
||||
@ stdcall SetupCommitFileQueue(long long ptr ptr) SetupCommitFileQueueW
|
||||
@ stdcall SetupCommitFileQueueA(long long ptr ptr)
|
||||
@ stdcall SetupCommitFileQueueW(long long ptr ptr)
|
||||
@ stub SetupCopyErrorA
|
||||
|
@ -263,26 +263,26 @@
|
|||
@ stub SetupDeleteErrorW
|
||||
@ stdcall SetupDestroyDiskSpaceList(long)
|
||||
@ stub SetupDiAskForOEMDisk
|
||||
@ stub SetupDiBuildClassInfoList
|
||||
@ stub SetupDiBuildClassInfoListExA
|
||||
@ stdcall SetupDiBuildClassInfoList(long ptr long ptr)
|
||||
@ stdcall SetupDiBuildClassInfoListExA(long ptr long ptr str ptr)
|
||||
@ stdcall SetupDiBuildClassInfoListExW(long ptr long ptr wstr ptr)
|
||||
@ stub SetupDiBuildDriverInfoList
|
||||
@ stub SetupDiCallClassInstaller
|
||||
@ stub SetupDiCancelDriverInfoSearch
|
||||
@ stub SetupDiChangeState
|
||||
@ stub SetupDiClassGuidsFromNameA
|
||||
@ stub SetupDiClassGuidsFromNameExA
|
||||
@ stdcall SetupDiClassGuidsFromNameA(str ptr long ptr)
|
||||
@ stdcall SetupDiClassGuidsFromNameExA(str ptr long ptr str ptr)
|
||||
@ stdcall SetupDiClassGuidsFromNameExW(wstr ptr long ptr wstr ptr)
|
||||
@ stub SetupDiClassGuidsFromNameW
|
||||
@ stub SetupDiClassNameFromGuidA
|
||||
@ stub SetupDiClassNameFromGuidExA
|
||||
@ stdcall SetupDiClassNameFromGuidExW(ptr ptr long ptr wstr ptr)
|
||||
@ stub SetupDiClassNameFromGuidW
|
||||
@ stdcall SetupDiClassGuidsFromNameW(wstr ptr long ptr)
|
||||
@ stdcall SetupDiClassNameFromGuidA(ptr str long ptr)
|
||||
@ stdcall SetupDiClassNameFromGuidExA(ptr str long ptr wstr ptr)
|
||||
@ stdcall SetupDiClassNameFromGuidExW(ptr wstr long ptr wstr ptr)
|
||||
@ stdcall SetupDiClassNameFromGuidW(ptr wstr long ptr)
|
||||
@ stub SetupDiCreateDevRegKeyA
|
||||
@ stub SetupDiCreateDevRegKeyW
|
||||
@ stub SetupDiCreateDeviceInfoA
|
||||
@ stdcall SetupDiCreateDeviceInfoList(ptr ptr)
|
||||
@ stub SetupDiCreateDeviceInfoListExA
|
||||
@ stdcall SetupDiCreateDeviceInfoListExA(ptr long str ptr)
|
||||
@ stdcall SetupDiCreateDeviceInfoListExW(ptr long str ptr)
|
||||
@ stub SetupDiCreateDeviceInfoW
|
||||
@ stub SetupDiDeleteDevRegKey
|
||||
|
@ -297,13 +297,13 @@
|
|||
@ stdcall SetupDiEnumDeviceInterfaces(long ptr ptr long ptr)
|
||||
@ stub SetupDiEnumDriverInfoA
|
||||
@ stub SetupDiEnumDriverInfoW
|
||||
@ stub SetupDiGetActualSectionToInstallA
|
||||
@ stub SetupDiGetActualSectionToInstallW
|
||||
@ stdcall SetupDiGetActualSectionToInstallA(long str str long ptr ptr)
|
||||
@ stdcall SetupDiGetActualSectionToInstallW(long wstr wstr long ptr ptr)
|
||||
@ stub SetupDiGetClassBitmapIndex
|
||||
@ stub SetupDiGetClassDescriptionA
|
||||
@ stub SetupDiGetClassDescriptionExA
|
||||
@ stdcall SetupDiGetClassDescriptionExW(ptr ptr long ptr wstr ptr)
|
||||
@ stub SetupDiGetClassDescriptionW
|
||||
@ stdcall SetupDiGetClassDescriptionA(ptr str long ptr)
|
||||
@ stdcall SetupDiGetClassDescriptionExA(ptr str long ptr str ptr)
|
||||
@ stdcall SetupDiGetClassDescriptionExW(ptr wstr long ptr wstr ptr)
|
||||
@ stdcall SetupDiGetClassDescriptionW(ptr wstr long ptr)
|
||||
@ stub SetupDiGetClassDevPropertySheetsA
|
||||
@ stub SetupDiGetClassDevPropertySheetsW
|
||||
@ stdcall SetupDiGetClassDevsA(ptr ptr long long)
|
||||
|
@ -345,16 +345,16 @@
|
|||
@ stub SetupDiGetSelectedDriverA
|
||||
@ stub SetupDiGetSelectedDriverW
|
||||
@ stub SetupDiGetWizardPage
|
||||
@ stub SetupDiInstallClassA
|
||||
@ stdcall SetupDiInstallClassA(long str long ptr)
|
||||
@ stub SetupDiInstallClassExA
|
||||
@ stub SetupDiInstallClassExW
|
||||
@ stub SetupDiInstallClassW
|
||||
@ stdcall SetupDiInstallClassW(long wstr long ptr)
|
||||
@ stub SetupDiInstallDevice
|
||||
@ stub SetupDiInstallDriverFiles
|
||||
@ stub SetupDiLoadClassIcon
|
||||
@ stub SetupDiMoveDuplicateDevice
|
||||
@ stub SetupDiOpenClassRegKey
|
||||
@ stub SetupDiOpenClassRegKeyExA
|
||||
@ stdcall SetupDiOpenClassRegKey(ptr long)
|
||||
@ stdcall SetupDiOpenClassRegKeyExA(ptr long long str ptr)
|
||||
@ stdcall SetupDiOpenClassRegKeyExW(ptr long long wstr ptr)
|
||||
@ stub SetupDiOpenDevRegKey
|
||||
@ stub SetupDiOpenDeviceInfoA
|
||||
|
@ -447,7 +447,7 @@
|
|||
@ stdcall SetupOpenFileQueue()
|
||||
@ stdcall SetupOpenInfFileA(str str long ptr)
|
||||
@ stdcall SetupOpenInfFileW(wstr wstr long ptr)
|
||||
@ stub SetupOpenMasterInf
|
||||
@ stdcall SetupOpenMasterInf()
|
||||
@ stub SetupPromptForDiskA
|
||||
@ stub SetupPromptForDiskW
|
||||
@ stub SetupPromptReboot
|
||||
|
|
|
@ -50,44 +50,6 @@ DWORD WINAPI suErrorToIds16( WORD w1, WORD w2 )
|
|||
return 0;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* SetupDiOpenClassRegKeyExW (SETUPAPI.@)
|
||||
*
|
||||
* WINAPI in description not given
|
||||
*/
|
||||
HKEY WINAPI SetupDiOpenClassRegKeyExW(const GUID* class, REGSAM access, DWORD flags, PCWSTR machine, PVOID reserved)
|
||||
{
|
||||
FIXME("\n");
|
||||
return INVALID_HANDLE_VALUE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* SetupDiGetClassDescriptionExW (SETUPAPI.@)
|
||||
*/
|
||||
BOOL WINAPI SetupDiGetClassDescriptionExW (const GUID* class, PWSTR desc, DWORD size, PDWORD required, PCWSTR machine, PVOID reserved)
|
||||
{
|
||||
FIXME("\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* SetupDiClassNameFromGuidExW (SETUPAPI.@)
|
||||
*/
|
||||
BOOL WINAPI SetupDiClassNameFromGuidExW (const GUID* class, PWSTR desc, DWORD size, PDWORD required, PCWSTR machine, PVOID reserved)
|
||||
{
|
||||
FIXME("\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* SetupDiBuildClassInfoListExW (SETUPAPI.@)
|
||||
*/
|
||||
BOOL WINAPI SetupDiBuildClassInfoListExW(DWORD flags, LPGUID list, DWORD size, PDWORD required, LPCWSTR machine, PVOID reserved)
|
||||
{
|
||||
FIXME("\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* SetupDiGetDeviceInfoListDetailA (SETUPAPI.@)
|
||||
*/
|
||||
|
@ -106,24 +68,6 @@ BOOL WINAPI SetupDiGetDeviceInfoListDetailW(HDEVINFO devinfo, PSP_DEVINFO_LIST_D
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* SetupDiCreateDeviceInfoListA (SETUPAPI.@)
|
||||
*/
|
||||
HDEVINFO WINAPI SetupDiCreateDeviceInfoList(const GUID *class, HWND parend)
|
||||
{
|
||||
FIXME("\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* SetupDiCreateDeviceInfoListExW (SETUPAPI.@)
|
||||
*/
|
||||
HDEVINFO WINAPI SetupDiCreateDeviceInfoListExW(const GUID *class, HWND parend , PCWSTR machine, PVOID reserved)
|
||||
{
|
||||
FIXME("\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* (SETUPAPI.@)
|
||||
*
|
||||
|
@ -146,15 +90,6 @@ HDEVINFO WINAPI SetupDiGetClassDevsExW(const GUID *class, PCWSTR filter, HWND pa
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* SetupDiClassGuidsFromNameExW (SETUPAPI.@)
|
||||
*/
|
||||
BOOL WINAPI SetupDiClassGuidsFromNameExW(LPCWSTR class, LPGUID list, DWORD size, PDWORD required, LPCWSTR machine, PVOID reserved)
|
||||
{
|
||||
FIXME("\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* CM_Connect_MachineW (SETUPAPI.@)
|
||||
*/
|
||||
|
|
|
@ -450,6 +450,8 @@ DECL_WINELIB_SETUPAPI_TYPE_AW(PFILEPATHS)
|
|||
#define FLG_REGSVR_DLLREGISTER 0x00000001
|
||||
#define FLG_REGSVR_DLLINSTALL 0x00000002
|
||||
|
||||
#define DI_NOVCP 0x00000008
|
||||
|
||||
/* Class installer function codes */
|
||||
#define DIF_SELECTDEVICE 0x01
|
||||
#define DIF_INSTALLDEVICE 0x02
|
||||
|
@ -616,6 +618,14 @@ DECL_WINELIB_SETUPAPI_TYPE_AW(PFILEPATHS)
|
|||
#define DIGCF_PROFILE 0x00000008
|
||||
#define DIGCF_DEVICEINTERFACE 0x00000010
|
||||
|
||||
/* Flags for SetupDiOpenClassRegKeyEx */
|
||||
#define DIOCR_INSTALLER 0x00000001
|
||||
#define DIOCR_INTERFACE 0x00000002
|
||||
|
||||
/* Flags for SetupDiBuildClassInfoList(Ex) */
|
||||
#define DIBCI_NOINSTALLCLASS 0x00000001
|
||||
#define DIBCI_NODISPLAYCLASS 0x00000002
|
||||
|
||||
/* setup device registry property codes */
|
||||
#define SPDRP_DEVICEDESC 0x00000000
|
||||
#define SPDRP_HARDWAREID 0x00000001
|
||||
|
@ -663,6 +673,7 @@ HINF WINAPI SetupOpenInfFileW( PCWSTR name, PCWSTR pszclass, DWORD style, UI
|
|||
BOOL WINAPI SetupOpenAppendInfFileA( PCSTR, HINF, UINT * );
|
||||
BOOL WINAPI SetupOpenAppendInfFileW( PCWSTR, HINF, UINT * );
|
||||
#define SetupOpenAppendInfFile WINELIB_NAME_AW(SetupOpenAppendInfFile)
|
||||
HINF WINAPI SetupOpenMasterInf( VOID );
|
||||
void WINAPI SetupCloseInfFile( HINF hinf );
|
||||
BOOL WINAPI SetupGetLineByIndexA( HINF, PCSTR, DWORD, INFCONTEXT * );
|
||||
BOOL WINAPI SetupGetLineByIndexW( HINF, PCWSTR, DWORD, INFCONTEXT * );
|
||||
|
@ -736,8 +747,38 @@ void WINAPI SetupTermDefaultQueueCallback( PVOID );
|
|||
UINT WINAPI SetupDefaultQueueCallbackA( PVOID, UINT, UINT_PTR, UINT_PTR );
|
||||
UINT WINAPI SetupDefaultQueueCallbackW( PVOID, UINT, UINT_PTR, UINT_PTR );
|
||||
#define SetupDefaultQueueCallback WINELIB_NAME_AW(SetupDefaultQueueCallback)
|
||||
|
||||
BOOL WINAPI SetupDiBuildClassInfoList(DWORD, LPGUID, DWORD, PDWORD);
|
||||
BOOL WINAPI SetupDiBuildClassInfoListExA(DWORD, LPGUID, DWORD, PDWORD, PCSTR, PVOID);
|
||||
BOOL WINAPI SetupDiBuildClassInfoListExW(DWORD, LPGUID, DWORD, PDWORD, PCWSTR, PVOID);
|
||||
#define SetupDiBuildClassInfoListEx WINELIB_NAME_AW(SetupDiBuildClassInfoListEx)
|
||||
BOOL WINAPI SetupDiClassGuidsFromNameA(LPCSTR, LPGUID, DWORD, PDWORD);
|
||||
BOOL WINAPI SetupDiClassGuidsFromNameW(LPCWSTR, LPGUID, DWORD, PDWORD);
|
||||
#define SetupDiClassGuidsFromName WINELIB_NAME_AW(SetupDiClassGuidsFromName)
|
||||
BOOL WINAPI SetupDiClassGuidsFromNameExA(LPCSTR, LPGUID, DWORD, PDWORD, LPCSTR, PVOID);
|
||||
BOOL WINAPI SetupDiClassGuidsFromNameExW(LPCWSTR, LPGUID, DWORD, PDWORD, LPCWSTR, PVOID);
|
||||
#define SetupDiClassGuidsFromNameEx WINELIB_NAME_AW(SetupDiClassGuidsFromNameEx)
|
||||
BOOL WINAPI SetupDiClassNameFromGuidA(const GUID*, PSTR, DWORD, PDWORD);
|
||||
BOOL WINAPI SetupDiClassNameFromGuidW(const GUID*, PWSTR, DWORD, PDWORD);
|
||||
#define SetupDiClassNameFromGuid WINELIB_NAME_AW(SetupDiClassNameFromGuid)
|
||||
BOOL WINAPI SetupDiClassNameFromGuidExA(const GUID*, PSTR, DWORD, PDWORD, PCSTR, PVOID);
|
||||
BOOL WINAPI SetupDiClassNameFromGuidExW(const GUID*, PWSTR, DWORD, PDWORD, PCWSTR, PVOID);
|
||||
#define SetupDiClassNameFromGuidEx WINELIB_NAME_AW(SetupDiClassNameFromGuidEx)
|
||||
HDEVINFO WINAPI SetupDiCreateDeviceInfoList(const GUID *, HWND);
|
||||
HDEVINFO WINAPI SetupDiCreateDeviceInfoListExA(const GUID *, HWND, PCSTR, PVOID);
|
||||
HDEVINFO WINAPI SetupDiCreateDeviceInfoListExW(const GUID *, HWND, PCWSTR, PVOID);
|
||||
#define SetupDiCreateDeviceInfoListEx WINELIB_NAME_AW(SetupDiCreateDeviceInfoListEx)
|
||||
BOOL WINAPI SetupDiDestroyDeviceInfoList(HDEVINFO);
|
||||
BOOL WINAPI SetupDiEnumDeviceInterfaces(HDEVINFO, PSP_DEVINFO_DATA, const GUID *, DWORD, PSP_DEVICE_INTERFACE_DATA);
|
||||
BOOL WINAPI SetupDiGetActualSectionToInstallA(HINF, PCSTR, PSTR, DWORD, PDWORD, PSTR *);
|
||||
BOOL WINAPI SetupDiGetActualSectionToInstallW(HINF, PCWSTR, PWSTR, DWORD, PDWORD, PWSTR *);
|
||||
#define SetupDiGetActualSectionToInstall WINELIB_NAME_AW(SetupDiGetActualSectionToInstall)
|
||||
BOOL WINAPI SetupDiGetClassDescriptionA(const GUID*, PSTR, DWORD, PDWORD);
|
||||
BOOL WINAPI SetupDiGetClassDescriptionW(const GUID*, PWSTR, DWORD, PDWORD);
|
||||
#define SetupDiGetClassDescription WINELIB_NAME_AW(SetupDiGetClassDescription)
|
||||
BOOL WINAPI SetupDiGetClassDescriptionExA(const GUID*, PSTR, DWORD, PDWORD, PCSTR, PVOID);
|
||||
BOOL WINAPI SetupDiGetClassDescriptionExW(const GUID*, PWSTR, DWORD, PDWORD, PCWSTR, PVOID);
|
||||
#define SetupDiGetClassDescriptionEx WINELIB_NAME_AW(SetupDiGetClassDescriptionEx)
|
||||
HDEVINFO WINAPI SetupDiGetClassDevsA(CONST GUID *,LPCSTR,HWND,DWORD);
|
||||
HDEVINFO WINAPI SetupDiGetClassDevsW(CONST GUID *,LPCWSTR,HWND,DWORD);
|
||||
#define SetupDiGetClassDevs WINELIB_NAME_AW(SetupDiGetClassDevs)
|
||||
|
@ -747,6 +788,13 @@ BOOL WINAPI SetupDiGetDeviceInterfaceDetailW(HDEVINFO, PSP_DEVICE_INTERFACE_
|
|||
DWORD, PDWORD, PSP_DEVINFO_DATA);
|
||||
#define SetupDiGetDeviceInterfaceDetail WINELIB_NAME_AW(SetupDiGetDeviceInterfaceDetail)
|
||||
BOOL WINAPI SetupDiGetDeviceRegistryPropertyA(HDEVINFO, PSP_DEVINFO_DATA, DWORD, PDWORD, PBYTE, DWORD, PDWORD);
|
||||
BOOL WINAPI SetupDiInstallClassA(HWND, PCSTR, DWORD, HSPFILEQ);
|
||||
BOOL WINAPI SetupDiInstallClassW(HWND, PCWSTR, DWORD, HSPFILEQ);
|
||||
#define SetupDiInstallClass WINELIB_NAME_AW(SetupDiInstallClass)
|
||||
HKEY WINAPI SetupDiOpenClassRegKey(const GUID*, REGSAM);
|
||||
HKEY WINAPI SetupDiOpenClassRegKeyExA(const GUID*, REGSAM, DWORD, PCSTR, PVOID);
|
||||
HKEY WINAPI SetupDiOpenClassRegKeyExW(const GUID*, REGSAM, DWORD, PCWSTR, PVOID);
|
||||
#define SetupDiOpenClassRegKeyEx WINELIB_NAME_AW(SetupDiOpenClassRegKeyEx)
|
||||
BOOL WINAPI SetupInstallFilesFromInfSectionA( HINF, HINF, HSPFILEQ, PCSTR, PCSTR, UINT );
|
||||
BOOL WINAPI SetupInstallFilesFromInfSectionW( HINF, HINF, HSPFILEQ, PCWSTR, PCWSTR, UINT );
|
||||
#define SetupInstallFilesFromInfSection WINELIB_NAME_AW(SetupInstallFilesFromInfSection)
|
||||
|
|
Loading…
Reference in New Issue