46 if (rcWindow.
left < rcParent.
left || rcWindow.
top < rcParent.
top ||
100 PWSTR pszUnknown =
L"Unknown";
107 PWSTR pszUnknownGuid =
L"{4D36E97E-E325-11CE-BFC1-08002BE10318}";
111 (
PBYTE)pszUnknownGuid,
230 if (bNeedReboot !=
NULL)
289 DWORD dwPathLength = 0;
305 TRACE(
"RegOpenKeyEx() failed with error 0x%lx\n", rc);
310 L"Installation Sources",
317 TRACE(
"RegQueryValueEx() failed with error 0x%lx\n", rc);
325 TRACE(
"HeapAlloc() failed\n");
330 L"Installation Sources",
337 TRACE(
"RegQueryValueEx() failed with error 0x%lx\n", rc);
363 DWORD CustomPathLength;
378 TRACE(
"HeapAlloc() failed\n");
387 TRACE(
"ComboBox_GetCount() failed\n");
390 for (
i = 0;
i < ItemsCount;
i++)
395 TRACE(
"ComboBox_GetLBTextLen() failed\n");
406 TRACE(
"HeapAlloc() failed\n");
412 for (
i = 0;
i < ItemsCount;
i++)
417 TRACE(
"ComboBox_GetLBText() failed\n");
421 UseCustomPath =
FALSE;
445 TRACE(
"RegOpenKeyEx() failed with error 0x%lx\n", rc);
450 L"Installation Sources",
457 TRACE(
"RegSetValueEx() failed with error 0x%lx\n", rc);
506 (
WPARAM)DevInstData->hTitleFont,
514 (
LPARAM)DevInstData->buffer);
523 if (!DevInstData->bUpdate)
526 &DevInstData->devInfoData,
630 HWND hwndControl, hwndCombo;
727 IMalloc_Free(
malloc, pidl);
812 DevInstData->hDialog = hwndDlg;
823 (
LPARAM)DevInstData->buffer);
907 DevInstData->hDialog = hwndDlg;
918 (
LPARAM)DevInstData->drvInfoData.Description);
1031 (
WPARAM)DevInstData->hTitleFont,
1037 DevInstData->devInfoData.DevInst,
1039 &DisableableDevice);
1072 &DisableableDevice) &&
1073 DisableableDevice &&
1150 (
LPARAM)DevInstData->drvInfoData.Description);
1157 (
WPARAM)DevInstData->hTitleFont,
1229 (
LPARAM)DevInstData->drvInfoData.Description);
1236 (
WPARAM)DevInstData->hTitleFont,
1308 (
LPARAM)DevInstData->drvInfoData.Description);
1315 (
WPARAM)DevInstData->hTitleFont,
1355 NONCLIENTMETRICSW ncm;
1361 ncm.cbSize =
sizeof(NONCLIENTMETRICSW);
1364 LogFont = ncm.lfMessageFont;
1396 psp.lParam = (
LPARAM)DevInstData;
1449 psh.dwFlags = PSH_WIZARD97 | PSH_WATERMARK | PSH_HEADER;
1453 psh.nStartPage = startPage;
static VOID CenterWindow(IN HWND hWnd)
CONFIGRET WINAPI CM_Get_DevNode_Status_Ex(_Out_ PULONG pulStatus, _Out_ PULONG pulProblemNumber, _In_ DEVINST dnDevInst, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
SP_DEVINFO_DATA devInfoData
static INT_PTR CALLBACK InstallDrvDlgProc(IN HWND hwndDlg, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam)
_In_ ULONG _In_ ULONG _In_ ULONG Length
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
#define ComboBox_AddString(hwndCtl, lpsz)
#define ComboBox_GetLBText(hwndCtl, index, lpszBuffer)
HDC WINAPI GetDC(_In_opt_ HWND)
static INT CALLBACK BrowseCallbackProc(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData)
#define UNREFERENCED_PARAMETER(P)
CONFIGRET WINAPI CM_Set_DevNode_Problem(_In_ DEVINST dnDevInst, _In_ ULONG ulProblem, _In_ ULONG ulFlags)
#define SetupDiGetDeviceInstallParams
static VOID PopulateCustomPathCombo(IN HWND hwndCombo)
BOOL WINAPI SHGetPathFromIDListW(LPCITEMIDLIST pidl, LPWSTR pszPath)
static VOID SaveCustomPath(IN HWND hwndCombo)
#define IDS_BROWSE_FOR_FOLDER_TITLE
#define SystemParametersInfo
#define IDS_INSTALLWIZARDTITLE
HRESULT WINAPI SHGetMalloc(LPMALLOC *lpmal)
#define IDS_INSTALLDRV_TITLE
static void IncludePath(HWND Dlg, BOOL Enabled)
DWORD WINAPI GetLastError(VOID)
BOOL WINAPI DeleteObject(_In_ HGDIOBJ)
BOOL DisplayWizard(IN PDEVINSTDATA DevInstData, IN HWND hwndParent, IN UINT startPage)
#define SetupDiGetDeviceRegistryProperty
BOOL WINAPI SetWindowTextW(_In_ HWND, _In_opt_ LPCWSTR)
#define IDS_UPDATEWIZARDTITLE
#define BIF_NONEWFOLDERBUTTON
BOOL WINAPI SetupDiCallClassInstaller(DI_FUNCTION InstallFunction, HDEVINFO DeviceInfoSet, PSP_DEVINFO_DATA DeviceInfoData)
#define SendDlgItemMessage
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
#define DIF_PROPERTYCHANGE
#define ComboBox_GetTextLength(hwndCtl)
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)
static INT_PTR CALLBACK NoDriverDlgProc(IN HWND hwndDlg, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam)
struct tagNMHDR * LPNMHDR
static BOOL IsDeviceStarted(IN DEVINST DevInst, IN HMACHINE hMachine, OUT BOOL *IsEnabled)
#define CM_SET_DEVNODE_PROBLEM_OVERRIDE
#define WM_INSTALL_FINISHED
static DWORD WINAPI InstallDriverProc(IN LPVOID lpParam)
#define BFFM_SETSELECTION
static struct _test_info info[]
struct _PSP * HPROPSHEETPAGE
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
HANDLE WINAPI DECLSPEC_HOTPATCH CreateThread(IN LPSECURITY_ATTRIBUTES lpThreadAttributes, IN DWORD dwStackSize, IN LPTHREAD_START_ROUTINE lpStartAddress, IN LPVOID lpParameter, IN DWORD dwCreationFlags, OUT LPDWORD lpThreadId)
HFONT WINAPI CreateFontIndirectW(_In_ const LOGFONTW *)
HWND WINAPI GetDesktopWindow(void)
#define SPDIT_COMPATDRIVER
#define PropSheet_SetWizButtons(d, f)
static INT_PTR CALLBACK SearchDrvDlgProc(IN HWND hwndDlg, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam)
UINT WINAPI IsDlgButtonChecked(_In_ HWND, _In_ int)
#define CreatePropertySheetPage
HRESULT WINAPI SHAutoComplete(HWND hwndEdit, DWORD dwFlags)
static HINSTANCE hDllInstance
LONG WINAPI RegSetValueExW(_In_ HKEY hKey, _In_ LPCWSTR lpValueName, _In_ DWORD Reserved, _In_ DWORD dwType, _In_ CONST BYTE *lpData, _In_ DWORD cbData)
SP_CLASSINSTALL_HEADER ClassInstallHeader
#define ComboBox_GetCount(hwndCtl)
static const WCHAR Title[]
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
LONG WINAPI RegQueryValueExW(_In_ HKEY hkeyorg, _In_ LPCWSTR name, _In_ LPDWORD reserved, _In_ LPDWORD type, _In_ LPBYTE data, _In_ LPDWORD count)
HWND WINAPI GetDlgItem(_In_opt_ HWND, _In_ int)
#define DICS_FLAG_CONFIGSPECIFIC
int WINAPI GetWindowTextLengthW(_In_ HWND)
static INT_PTR CALLBACK InstallFailedDlgProc(IN HWND hwndDlg, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam)
static HFONT CreateTitleFont(VOID)
SP_DEVINSTALL_PARAMS_A SP_DEVINSTALL_PARAMS
#define SetupDiSetDeviceRegistryProperty
LRESULT WINAPI SendDlgItemMessageW(_In_ HWND, _In_ int, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
return pProvider IsEnabled(ProviderControl)
static BOOL StartDevice(IN HDEVINFO DeviceInfoSet, IN PSP_DEVINFO_DATA DevInfoData OPTIONAL, IN BOOL bEnable, IN DWORD HardwareProfile OPTIONAL, OUT BOOL *bNeedReboot OPTIONAL)
static INT_PTR CALLBACK NeedRebootDlgProc(IN HWND hwndDlg, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam)
#define PropSheet_SetCurSelByID(d, i)
_CRTIMP wchar_t *__cdecl wcscpy(_Out_writes_z_(_String_length_(_Source)+1) wchar_t *_Dest, _In_z_ const wchar_t *_Source)
#define IDC_RADIO_SEARCHHERE
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
int WINAPI GetDeviceCaps(_In_opt_ HDC, _In_ int)
BOOL InstallCurrentDriver(IN PDEVINSTDATA DevInstData)
#define IDS_CHSOURCE_TITLE
#define IDD_INSTALLFAILED
#define ComboBox_GetLBTextLen(hwndCtl, index)
#define ComboBox_SetCurSel(hwndCtl, index)
BOOL WINAPI EnableWindow(_In_ HWND, _In_ BOOL)
#define IDS_SEARCHDRV_TITLE
LPITEMIDLIST WINAPI SHBrowseForFolderW(LPBROWSEINFOW lpbi)
BOOL WINAPI SetupDiDestroyDriverInfoList(IN HDEVINFO DeviceInfoSet, IN PSP_DEVINFO_DATA DeviceInfoData OPTIONAL, IN DWORD DriverType)
#define SPDRP_CONFIGFLAGS
HWND WINAPI GetParent(_In_ HWND)
PRTL_UNICODE_STRING_BUFFER Path
#define ComboBox_ResetContent(hwndCtl)
#define BIF_RETURNONLYFSDIRS
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
int WINAPI GetWindowTextW(HWND hWnd, LPWSTR lpString, int nMaxCount)
void WINAPI DECLSPEC_HOTPATCH CoUninitialize(void)
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL CheckBestDriver(_In_ PDEVINSTDATA DevInstData, _In_ PCWSTR pszDir)
static BOOL SetFailedInstall(IN HDEVINFO DeviceInfoSet, IN PSP_DEVINFO_DATA DevInfoData OPTIONAL, IN BOOLEAN Set)
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
#define CM_PROB_FAILED_INSTALL
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
HRESULT WINAPI CoInitialize(LPVOID lpReserved)
static void AutoDriver(HWND Dlg, BOOL Enabled)
struct _SP_CLASSINSTALL_HEADER SP_CLASSINSTALL_HEADER
BOOL WINAPI PostMessageW(_In_opt_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI SetupDiSetDeviceRegistryPropertyW(HDEVINFO DeviceInfoSet, PSP_DEVINFO_DATA DeviceInfoData, DWORD Property, const BYTE *PropertyBuffer, DWORD PropertyBufferSize)
WCHAR lfFaceName[LF_FACESIZE]
base for all directory entries
static INT_PTR CALLBACK WelcomeDlgProc(IN HWND hwndDlg, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam)
char * cleanup(char *str)
#define WM_SEARCH_FINISHED
BOOL PrepareFoldersToScan(IN PDEVINSTDATA DevInstData, IN BOOL IncludeRemovableDevices, IN BOOL IncludeCustomPath, IN HWND hwndCombo OPTIONAL)
BOOL WINAPI GetWindowRect(_In_ HWND, _Out_ LPRECT)
static INT_PTR CALLBACK CHSourceDlgProc(IN HWND hwndDlg, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam)
BOOL WINAPI SetWindowPos(_In_ HWND, _In_opt_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ UINT)
#define SetupDiSetClassInstallParams
#define REGSTR_PATH_SETUP
static BOOL CanDisableDevice(IN DEVINST DevInst, IN HMACHINE hMachine, OUT BOOL *CanDisable)
static INT_PTR CALLBACK FinishDlgProc(IN HWND hwndDlg, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam)
ITEMIDLIST UNALIGNED * LPITEMIDLIST
BOOL ScanFoldersForDriver(IN PDEVINSTDATA DevInstData)
static DWORD WINAPI FindDriverProc(IN LPVOID lpParam)
struct _DEVINSTDATA * PDEVINSTDATA
#define HeapFree(x, y, z)
#define RegCloseKey(hKey)
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
_Check_return_ _CRTIMP int __cdecl _wcsicmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
#define CONFIGFLAG_FAILEDINSTALL
BOOL WINAPI GetComboBoxInfo(_In_ HWND, _Inout_ PCOMBOBOXINFO)
#define SHACF_FILESYS_DIRS
#define HKEY_LOCAL_MACHINE
PULONG MinorVersion OPTIONAL