reactos/dll/win32/newdev/newdev_private.h
Jose Carlos Jesus 45c8e4dcd0
[NEWDEV][SHELL32][SYSSETUP] Improve browse driver folder dialog (#4293)
[NEWDEV] Enable OK button in "Browse For Folder" only when driver is found

Implement BrowseCallbackProc() function which sends BFFM_ENABLEOK message
to the browse dialog whether the driver is found in the selected folder.

Pass the search path to the browse dialog depending on the current index
of the drop down combobox. If the index is not set, just get window text.
Then, automatically expand the tree view to the specified path by sending
BFFM_SETSELECTION message.

Also fix a bug in SearchDriverRecursive() where a duplicate backslash
was added to the PathWithPattern string variable.

[SHELL32] Do not add Recycle Bin to the tree view items in FillTreeView()

[SYSSETUP] Add source path to the "Installation Sources" multi-string key

Each time the ProcessSetupInf() is being called, add the source path
to the "Installation Sources" registry key, if it's not added there yet.
The driver search path combobox will be then populated using its value.
2022-11-27 18:00:46 +03:00

77 lines
1.3 KiB
C

#ifndef __NEWDEV_PRIVATE_H
#define __NEWDEV_PRIVATE_H
#include <stdarg.h>
#define WIN32_NO_STATUS
#define _INC_WINDOWS
#define COM_NO_WINDOWS_H
#define COBJMACROS
#include <windef.h>
#include <winbase.h>
#include <winreg.h>
#include <wingdi.h>
#include <winuser.h>
#include <windowsx.h>
#include <newdev.h>
#include <regstr.h>
#include <dll/newdevp.h>
#include <wine/debug.h>
WINE_DEFAULT_DEBUG_CHANNEL(newdev);
#include "resource.h"
extern HINSTANCE hDllInstance;
typedef struct _DEVINSTDATA
{
HFONT hTitleFont;
BOOL bUpdate;
PBYTE buffer;
DWORD requiredSize;
DWORD regDataType;
HWND hDialog;
HDEVINFO hDevInfo;
SP_DEVINFO_DATA devInfoData;
SP_DRVINFO_DATA_W drvInfoData;
LPWSTR CustomSearchPath; /* MULTI_SZ string */
} DEVINSTDATA, *PDEVINSTDATA;
#define WM_SEARCH_FINISHED (WM_USER + 10)
#define WM_INSTALL_FINISHED (WM_USER + 11)
/* newdev.c */
BOOL
ScanFoldersForDriver(
IN PDEVINSTDATA DevInstData);
BOOL
PrepareFoldersToScan(
IN PDEVINSTDATA DevInstData,
IN BOOL IncludeRemovableDevices,
IN BOOL IncludeCustomPath,
IN HWND hwndCombo OPTIONAL);
BOOL
InstallCurrentDriver(
IN PDEVINSTDATA DevInstData);
BOOL
CheckBestDriver(
_In_ PDEVINSTDATA DevInstData,
_In_ PCWSTR pszDir);
/* wizard.c */
BOOL
DisplayWizard(
IN PDEVINSTDATA DevInstData,
IN HWND hwndParent,
IN UINT startPage);
#endif /* __NEWDEV_PRIVATE_H */