xref: /reactos/base/services/umpnpmgr/precomp.h (revision 09dde2cf)
1 /*
2  * COPYRIGHT:        See COPYING in the top level directory
3  * PROJECT:          ReactOS kernel
4  * FILE:             base/services/umpnpmgr/install.c
5  * PURPOSE:          Device installer
6  * PROGRAMMER:       Eric Kohl (eric.kohl@reactos.org)
7  *                   Hervé Poussineau (hpoussin@reactos.org)
8  *                   Colin Finck (colin@reactos.org)
9  */
10 
11 #ifndef _UMPNPMGR_PCH_
12 #define _UMPNPMGR_PCH_
13 
14 #define WIN32_NO_STATUS
15 #define _INC_WINDOWS
16 #define COM_NO_WINDOWS_H
17 #include <stdarg.h>
18 #include <windef.h>
19 #include <winbase.h>
20 #include <winreg.h>
21 #include <winsvc.h>
22 #include <winuser.h>
23 #include <dbt.h>
24 #include <stdio.h>
25 #include <cmfuncs.h>
26 #include <rtlfuncs.h>
27 #include <setypes.h>
28 #include <umpnpmgr/sysguid.h>
29 #include <cfgmgr32.h>
30 #include <regstr.h>
31 #include <userenv.h>
32 #include <shlwapi.h>
33 #include <pnp_s.h>
34 
35 
36 typedef struct
37 {
38     LIST_ENTRY ListEntry;
39     WCHAR DeviceIds[ANYSIZE_ARRAY];
40 } DeviceInstallParams;
41 
42 typedef struct
43 {
44     LIST_ENTRY ListEntry;
45     PWSTR pszName;
46 } NOTIFY_ENTRY, *PNOTIFY_ENTRY;
47 
48 /* install.c */
49 
50 extern HANDLE hUserToken;
51 extern HANDLE hInstallEvent;
52 extern HANDLE hNoPendingInstalls;
53 
54 /* Device-install event list */
55 extern HANDLE hDeviceInstallListMutex;
56 extern LIST_ENTRY DeviceInstallListHead;
57 extern HANDLE hDeviceInstallListNotEmpty;
58 
59 BOOL
60 SetupIsActive(VOID);
61 
62 DWORD
63 WINAPI
64 DeviceInstallThread(
65     LPVOID lpParameter);
66 
67 
68 /* rpcserver.c */
69 
70 DWORD
71 WINAPI
72 RpcServerThread(
73     LPVOID lpParameter);
74 
75 
76 /* umpnpmgr.c */
77 
78 extern HKEY hEnumKey;
79 extern HKEY hClassKey;
80 extern BOOL g_IsUISuppressed;
81 
82 BOOL
83 GetSuppressNewUIValue(VOID);
84 
85 #endif /* _UMPNPMGR_PCH_ */