#define WIN32_NO_STATUS
#define _INC_WINDOWS
#define COM_NO_WINDOWS_H
+
#define COBJMACROS
#include <windef.h>
#include <winbase.h>
+#include <winuser.h>
+#include <wingdi.h>
#include <winreg.h>
+#include <winspool.h>
#include <wincon.h>
+
+#include <commdlg.h>
+
#include <objbase.h>
#include <cfgmgr32.h>
#include <regstr.h>
#include <sddl.h>
#include <setupapi.h>
+#include <softpub.h>
+#include <mscat.h>
+#include <lzexpand.h>
#include <shlobj.h>
#include <wine/unicode.h>
#define NTOS_MODE_USER
#undef __WINESRC__
#endif
+#include "resource.h"
+
#define SETUP_DEVICE_INFO_SET_MAGIC 0xd00ff057
#define SETUP_CLASS_IMAGE_LIST_MAGIC 0xd00ff058
/* Used by SetupDiGetClassInstallParamsW/SetupDiSetClassInstallParamsW */
struct ClassInstallParams ClassInstallParams;
+ /* Device property page provider data */
+ HMODULE hmodDevicePropPageProvider;
+ PVOID pDevicePropPageProvider;
+
/* Variable size array (contains data for instanceId, UniqueId, DeviceDescription) */
WCHAR Data[ANYSIZE_ARRAY];
};
/* Used by SetupDiGetClassInstallParamsW/SetupDiSetClassInstallParamsW */
struct ClassInstallParams ClassInstallParams;
+ /* Class property page provider data */
+ HMODULE hmodClassPropPageProvider;
+ PVOID pClassPropPageProvider;
+
/* Contains the name of the remote computer ('\\COMPUTERNAME' for example),
* or NULL if related to local machine. Points into szData field at the
* end of the structure */
};
extern HINSTANCE hInstance;
+extern OSVERSIONINFOEXW OsVersionInfo;
+
+/*
+ * See: https://msdn.microsoft.com/en-us/library/bb432397(v=vs.85).aspx
+ * for more information.
+ */
+extern DWORD GlobalSetupFlags;
+#define PSPGF_NO_BACKUP 0x0002
+#define PSPGF_NONINTERACTIVE 0x0004
+
#define RC_STRING_MAX_SIZE 256
#define REG_INSTALLEDFILES "System\\CurrentControlSet\\Control\\InstalledFiles"
struct inf_file;
extern const WCHAR *DIRID_get_string( int dirid );
-extern unsigned int PARSER_string_substA( const struct inf_file *file, const WCHAR *text,
- char *buffer, unsigned int size );
-extern unsigned int PARSER_string_substW( const struct inf_file *file, const WCHAR *text,
- WCHAR *buffer, unsigned int size );
-extern const WCHAR *PARSER_get_inf_filename( HINF hinf );
-extern WCHAR *PARSER_get_src_root( HINF hinf );
-extern WCHAR *PARSER_get_dest_dir( INFCONTEXT *context );
+extern const WCHAR *PARSER_get_inf_filename( HINF hinf ) DECLSPEC_HIDDEN;
+extern WCHAR *PARSER_get_src_root( HINF hinf ) DECLSPEC_HIDDEN;
+extern WCHAR *PARSER_get_dest_dir( INFCONTEXT *context ) DECLSPEC_HIDDEN;
/* support for Ascii queue callback functions */
#define _S_IWRITE 0x0080
#define _S_IREAD 0x0100
-extern HINSTANCE hInstance;
-extern OSVERSIONINFOW OsVersionInfo;
-
/* devinst.c */
BOOL
IN CONST GUID *Class OPTIONAL,
IN PCWSTR Enumerator OPTIONAL);
+HKEY SETUPDI_CreateDevKey(HKEY RootKey, struct DeviceInfo *devInfo, REGSAM samDesired);
+HKEY SETUPDI_CreateDrvKey(HKEY RootKey, struct DeviceInfo *devInfo, UUID *ClassGuid, REGSAM samDesired);
+HKEY SETUPDI_OpenDevKey(HKEY RootKey, struct DeviceInfo *devInfo, REGSAM samDesired);
+HKEY SETUPDI_OpenDrvKey(HKEY RootKey, struct DeviceInfo *devInfo, REGSAM samDesired);
+
/* driver.c */
struct InfFileDetails *