windows-nt/Source/XPSP1/NT/base/ntsetup/win95upg/w95upg/ui/uip.h
2020-09-26 16:20:57 +08:00

461 lines
7 KiB
C

// uip.h - private interfaces for ui.lib
//
// Defines
//
#define REGISTRY_DLL 0xfffffffe
//
// definition of Level used for report generation routines
//
#define REPORTLEVEL_NONE 0x0000
#define REPORTLEVEL_BLOCKING 0x0001
#define REPORTLEVEL_ERROR 0x0002
#define REPORTLEVEL_WARNING 0x0004
#define REPORTLEVEL_INFORMATION 0x0008
#define REPORTLEVEL_VERBOSE 0x0010
#define REPORTLEVEL_ALL 0x001F
#define REPORTLEVEL_IN_SHORT_LIST 0x1000
//
// Private routines
//
BOOL InitCompatTable (void);
void FreeCompatTable (void);
BOOL
SaveReport (
IN HWND Parent, OPTIONAL // Either Parent or Path must be specified.
IN LPCTSTR Path OPTIONAL
);
BOOL
PrintReport (
IN HWND Parent,
IN DWORD Level
);
BOOL
AreThereAnyBlockingIssues(
VOID
);
PCTSTR
CreateReportText (
IN BOOL HtmlFormat,
IN UINT TotalColumns,
IN DWORD Level,
IN BOOL ListFormat
);
VOID
FreeReportText (
VOID
);
VOID
StartCopyThread (
VOID
);
VOID
EndCopyThread (
VOID
);
DWORD
UI_ReportThread (
LPVOID p
);
VOID
BuildPunctTable (
VOID
);
VOID
FreePunctTable (
VOID
);
DWORD
UI_CreateNewHwCompDat (
LPVOID p
);
BOOL
IsIncompatibleHardwarePresent (
VOID
);
typedef DWORD(WINAPI *THREADPROC)(LPVOID Param);
typedef struct {
//
// IN params to SearchingDlgProc
//
PCTSTR SearchStr;
PTSTR MatchStr;
THREADPROC ThreadProc;
//
// Dialog info set by SearchingDlgProc and
// queried by ThreadProc
//
HWND hdlg;
HANDLE CancelEvent;
HANDLE ThreadHandle;
//
// OUT params from ThreadProc
//
UINT ActiveMatches;
BOOL MatchFound;
} SEARCHING_THREAD_DATA, *PSEARCHING_THREAD_DATA;
LONG
SearchForMigrationDlls (
IN HWND Parent,
IN PCTSTR SearchPath,
OUT UINT *ActiveModulesFound,
OUT PBOOL OneValidDllFound
);
LONG
SearchForDomain (
IN HWND Parent,
IN PCTSTR ComputerName,
OUT BOOL *AccountFound,
OUT PTSTR DomainName
);
#define WMX_REPORT_COMPLETE (WM_APP+20)
#define WMX_UPDATE_LIST (WM_APP+21)
#define WMX_DIALOG_VISIBLE (WM_APP+22)
#define WMX_THREAD_DONE (WM_APP+23)
#define WMX_ADDLINE (WM_APP+24)
#define WMX_GOTO (WM_APP+25)
#define WMX_WAIT_FOR_THREAD_TO_DIE (WM_APP+26)
#define WMX_ENABLE_CONTROLS (WM_APP+27)
#define WMX_ALL_LINES_PAINTED (WM_APP+28)
#define WMX_INIT_DIALOG (WM_APP+29)
#define WMX_CLEANUP (WM_APP+30)
#define WMX_WIN95_WORKAROUND (WM_APP+31)
#define WMX_RESTART_SETUP (WM_APP+32)
//
// imported from winnt32.h
//
#define WMX_FINISHBUTTON (WMX_PLUGIN_FIRST-8)
#define WMX_UNATTENDED (WMX_PLUGIN_FIRST-9)
#define WMX_NEXTBUTTON (WMX_PLUGIN_FIRST-10)
#define WMX_BACKBUTTON (WMX_PLUGIN_FIRST-11)
BOOL
UI_BackupPageProc (
HWND hdlg,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
);
BOOL
UI_HwCompDatPageProc (
HWND hdlg,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
);
UI_BadHardDrivePageProc (
HWND hdlg,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
);
UI_BadCdRomPageProc (
HWND hdlg,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
);
UI_NameCollisionPageProc (
HWND hdlg,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
);
BOOL
UI_HardwareDriverPageProc (
HWND hdlg,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
);
BOOL
UI_UpgradeModulePageProc (
HWND hdlg,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
);
BOOL
UI_ScanningPageProc (
HWND hdlg,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
);
BOOL
UI_ResultsPageProc (
HWND hdlg,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
);
BOOL
UI_BackupYesNoPageProc (
HWND hdlg,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
);
BOOL
UI_BackupDriveSelectionProc (
HWND hdlg,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
);
BOOL
UI_BackupImpossibleInfoProc (
HWND hdlg,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
);
BOOL
UI_BackupImpExceedLimitProc (
HWND hdlg,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
);
BOOL
UI_LastPageProc (
HWND hdlg,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
);
LPCTSTR UI_GetMemDbDat (void);
LPARAM
HardwareDlg (
IN HWND Parent
);
LPARAM
UpgradeModuleDlg (
IN HWND Parent
);
LPARAM
DiskSpaceDlg (
HWND Parent
);
LPARAM
WarningDlg (
HWND Parent
);
LPARAM
SoftBlockDlg (
HWND Parent
);
LPARAM
IncompatibleDevicesDlg (
HWND Parent
);
LPARAM
ResultsDlg (
IN HWND Parent,
IN PCTSTR Bookmark
);
extern HWND g_InfoPageHwnd;
extern int g_nCompliantDllsEncountered;
extern int g_nCompliantDllsEncounteredThisEnum;
extern BOOL g_UIQuitSetup;
LRESULT
CALLBACK
TextViewProc (
HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
);
#define ATTRIB_NORMAL 0
#define ATTRIB_BOLD 1
#define ATTRIB_UNDERLINED 2
typedef struct {
UINT Indent;
UINT LastCharAttribs;
UINT HangingIndent;
BOOL AnchorWrap;
BOOL Painted;
} LINEATTRIBS, *PLINEATTRIBS;
//
// Change name dialog
//
typedef struct {
PCTSTR NameGroup;
PCTSTR OrgName;
PCTSTR LastNewName;
PTSTR NewNameBuf;
} CHANGE_NAME_PARAMS, *PCHANGE_NAME_PARAMS;
BOOL
ChangeNameDlg (
IN HWND Parent,
IN PCTSTR NameGroup,
IN PCTSTR OrgName,
IN OUT PTSTR NewName
);
//
// Credentials dialog
//
#define MAX_PASSWORD 64
typedef struct {
BOOL Change;
TCHAR DomainName[MAX_COMPUTER_NAME + 1];
TCHAR AdminName[MAX_SERVER_NAME + 1 + MAX_USER_NAME + 1];
TCHAR Password[MAX_PASSWORD + 1];
} CREDENTIALS, *PCREDENTIALS;
BOOL
CredentialsDlg (
IN HWND Parent,
IN OUT PCREDENTIALS Credentials
);
VOID
EnableDlgItem (
HWND hdlg,
UINT Id,
BOOL Enable,
UINT FocusId
);
VOID
ShowDlgItem (
HWND hdlg,
UINT Id,
INT Show,
UINT FocusId
);
LONG
SearchForDrivers (
IN HWND Parent,
IN PCTSTR SearchPathStr,
OUT BOOL *DriversFound
);
VOID
RegisterTextViewer (
VOID
);
VOID
AddStringToTextView (
IN HWND hwnd,
IN PCTSTR Text
);
#ifdef PRERELEASE
DWORD
DoAutoStressDlg (
PVOID Foo
);
#endif
BOOL
IsPunct (
MBCHAR Char
);
typedef struct {
//
// public data
//
PCTSTR Entry;
DWORD Level;
BOOL Header;
//
// private data
//
PTSTR Next;
TCHAR ReplacedChar;
} LISTREPORTENTRY_ENUM, *PLISTREPORTENTRY_ENUM;
BOOL
EnumFirstListEntry (
OUT PLISTREPORTENTRY_ENUM EnumPtr,
IN PCTSTR ListReportText
);
BOOL
EnumNextListEntry (
IN OUT PLISTREPORTENTRY_ENUM EnumPtr
);