xref: /reactos/dll/win32/syssetup/globals.h (revision 56b0f836)
1c2c66affSColin Finck /*
2c2c66affSColin Finck  * Copyright (C) 2004 Eric Kohl
3c2c66affSColin Finck  *
4c2c66affSColin Finck  * This program is free software; you can redistribute it and/or modify
5c2c66affSColin Finck  * it under the terms of the GNU General Public License as published by
6c2c66affSColin Finck  * the Free Software Foundation; either version 2 of the License, or
7c2c66affSColin Finck  * (at your option) any later version.
8c2c66affSColin Finck  *
9c2c66affSColin Finck  * This program is distributed in the hope that it will be useful,
10c2c66affSColin Finck  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11c2c66affSColin Finck  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12c2c66affSColin Finck  * GNU General Public License for more details.
13c2c66affSColin Finck  *
14c2c66affSColin Finck  * You should have received a copy of the GNU General Public License along
15c2c66affSColin Finck  * with this program; if not, write to the Free Software Foundation, Inc.,
16c2c66affSColin Finck  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17c2c66affSColin Finck  */
18c2c66affSColin Finck 
19c2c66affSColin Finck #pragma once
20c2c66affSColin Finck 
21c2c66affSColin Finck typedef struct _ADMIN_INFO
22c2c66affSColin Finck {
23c2c66affSColin Finck     LPWSTR Name;
24c2c66affSColin Finck     LPWSTR Domain;
25c2c66affSColin Finck     LPWSTR Password;
26c2c66affSColin Finck } ADMIN_INFO, *PADMIN_INFO;
27c2c66affSColin Finck 
28*56b0f836SEric Kohl 
29*56b0f836SEric Kohl typedef struct _ITEMSDATA
30*56b0f836SEric Kohl {
31*56b0f836SEric Kohl     HWND hwndDlg;
32*56b0f836SEric Kohl } ITEMSDATA, *PITEMSDATA;
33*56b0f836SEric Kohl 
34*56b0f836SEric Kohl typedef struct _REGISTRATIONNOTIFY
35*56b0f836SEric Kohl {
36*56b0f836SEric Kohl     ULONG Progress;
37*56b0f836SEric Kohl     UINT ActivityID;
38*56b0f836SEric Kohl     LPCWSTR CurrentItem;
39*56b0f836SEric Kohl     LPCWSTR ErrorMessage;
40*56b0f836SEric Kohl     UINT MessageID;
41*56b0f836SEric Kohl     DWORD LastError;
42*56b0f836SEric Kohl } REGISTRATIONNOTIFY, *PREGISTRATIONNOTIFY;
43*56b0f836SEric Kohl 
44*56b0f836SEric Kohl 
45*56b0f836SEric Kohl #define PM_REGISTRATION_NOTIFY (WM_APP + 1)
46*56b0f836SEric Kohl /* Private Message used to communicate progress from the background
47*56b0f836SEric Kohl    registration thread to the main thread.
48*56b0f836SEric Kohl    wParam = 0 Registration in progress
49*56b0f836SEric Kohl           = 1 Registration completed
50*56b0f836SEric Kohl    lParam = Pointer to a REGISTRATIONNOTIFY structure */
51*56b0f836SEric Kohl 
52*56b0f836SEric Kohl #define PM_ITEM_START (WM_APP + 2)
53*56b0f836SEric Kohl /* Start of a new Item
54*56b0f836SEric Kohl    wParam = item number
55*56b0f836SEric Kohl    lParam = number of steps */
56*56b0f836SEric Kohl 
57*56b0f836SEric Kohl #define PM_ITEM_END   (WM_APP + 3)
58*56b0f836SEric Kohl /* End of a new Item
59*56b0f836SEric Kohl    wParam = unused
60*56b0f836SEric Kohl    lParam = Error Code */
61*56b0f836SEric Kohl 
62*56b0f836SEric Kohl #define PM_STEP_START (WM_APP + 4)
63*56b0f836SEric Kohl #define PM_STEP_END   (WM_APP + 5)
64*56b0f836SEric Kohl #define PM_ITEMS_DONE (WM_APP + 6)
65*56b0f836SEric Kohl 
66*56b0f836SEric Kohl 
67c2c66affSColin Finck extern HINSTANCE hDllInstance;
68c2c66affSColin Finck extern HINF hSysSetupInf;
69c2c66affSColin Finck extern ADMIN_INFO AdminInfo;
70c2c66affSColin Finck 
71c2c66affSColin Finck BOOL RegisterTypeLibraries (HINF hinf, LPCWSTR szSection);
72c2c66affSColin Finck 
73*56b0f836SEric Kohl /* install */
74*56b0f836SEric Kohl 
75*56b0f836SEric Kohl VOID
76*56b0f836SEric Kohl InstallStartMenuItems(
77*56b0f836SEric Kohl     _In_ PITEMSDATA pItemsData);
78*56b0f836SEric Kohl 
7980db0551SEric Kohl /* netinstall.c */
8080db0551SEric Kohl 
8180db0551SEric Kohl BOOL
8280db0551SEric Kohl InstallNetworkComponent(
8380db0551SEric Kohl     _In_ PWSTR pszComponentId);
8480db0551SEric Kohl 
85c2c66affSColin Finck /* security.c */
86c2c66affSColin Finck 
87c2c66affSColin Finck VOID InstallSecurity(VOID);
88c2c66affSColin Finck NTSTATUS
89c2c66affSColin Finck SetAdministratorPassword(LPCWSTR Password);
90c2c66affSColin Finck 
91c2c66affSColin Finck VOID
92c2c66affSColin Finck SetAutoAdminLogon(VOID);
93c2c66affSColin Finck 
94c2c66affSColin Finck /* wizard.c */
95c2c66affSColin Finck VOID InstallWizard (VOID);
96c2c66affSColin Finck 
97c2c66affSColin Finck /* EOF */
98