ec822ae8e241e471135a1ec6b51d7b6a99831f57
[reactos.git] / reactos / dll / win32 / devmgr / properties / properties.h
1 #ifndef __DEVMGR_H
2 #define __DEVMGR_H
3
4 WINE_DEFAULT_DEBUG_CHANNEL(devmgr);
5
6 extern HINSTANCE hDllInstance;
7
8 typedef INT_PTR (WINAPI *PPROPERTYSHEETW)(LPCPROPSHEETHEADERW);
9 typedef HPROPSHEETPAGE (WINAPI *PCREATEPROPERTYSHEETPAGEW)(LPCPROPSHEETPAGEW);
10 typedef BOOL (WINAPI *PDESTROYPROPERTYSHEETPAGE)(HPROPSHEETPAGE);
11
12 typedef struct _DEVADVPROP_INFO
13 {
14 HWND hWndGeneralPage;
15 HWND hWndParent;
16 WNDPROC ParentOldWndProc;
17 HICON hDevIcon;
18
19 HDEVINFO DeviceInfoSet;
20 SP_DEVINFO_DATA DeviceInfoData;
21 HDEVINFO CurrentDeviceInfoSet;
22 SP_DEVINFO_DATA CurrentDeviceInfoData;
23 DEVINST ParentDevInst;
24 HMACHINE hMachine;
25 LPCWSTR lpMachineName;
26
27 HINSTANCE hComCtl32;
28 PCREATEPROPERTYSHEETPAGEW pCreatePropertySheetPageW;
29 PDESTROYPROPERTYSHEETPAGE pDestroyPropertySheetPage;
30
31 DWORD PropertySheetType;
32 DWORD nDevPropSheets;
33 HPROPSHEETPAGE *DevPropSheets;
34
35 union
36 {
37 UINT Flags;
38 struct
39 {
40 UINT Extended : 1;
41 UINT FreeDevPropSheets : 1;
42 UINT CanDisable : 1;
43 UINT DeviceStarted : 1;
44 UINT DeviceUsageChanged : 1;
45 UINT CloseDevInst : 1;
46 UINT IsAdmin : 1;
47 UINT DoDefaultDevAction : 1;
48 UINT PageInitialized : 1;
49 UINT ShowRemotePages : 1;
50 UINT HasDriverPage : 1;
51 UINT HasResourcePage : 1;
52 UINT HasPowerPage : 1;
53 };
54 };
55
56 WCHAR szDevName[255];
57 WCHAR szTemp[255];
58 WCHAR szDeviceID[1];
59 /* struct may be dynamically expanded here! */
60 } DEVADVPROP_INFO, *PDEVADVPROP_INFO;
61
62
63 typedef struct _ENUMDRIVERFILES_CONTEXT
64 {
65 HWND hDriversListView;
66 UINT nCount;
67 } ENUMDRIVERFILES_CONTEXT, *PENUMDRIVERFILES_CONTEXT;
68
69 #define PM_INITIALIZE (WM_APP + 0x101)
70
71
72
73 /* HWRESOURCE.C */
74
75 INT_PTR
76 CALLBACK
77 ResourcesProcDriverDlgProc(IN HWND hwndDlg,
78 IN UINT uMsg,
79 IN WPARAM wParam,
80 IN LPARAM lParam);
81
82 /* ADVPROP.C */
83
84 INT_PTR
85 DisplayDeviceAdvancedProperties(IN HWND hWndParent,
86 IN LPCWSTR lpDeviceID OPTIONAL,
87 IN HDEVINFO DeviceInfoSet,
88 IN PSP_DEVINFO_DATA DeviceInfoData,
89 IN HINSTANCE hComCtl32,
90 IN LPCWSTR lpMachineName,
91 IN DWORD dwFlags);
92
93 /* DEVPRBLM.C */
94
95 BOOL
96 ShowDeviceProblemWizard(IN HWND hWndParent OPTIONAL,
97 IN HDEVINFO hDevInfo,
98 IN PSP_DEVINFO_DATA DevInfoData,
99 IN HMACHINE hMachine OPTIONAL);
100
101 /* MISC.C */
102
103
104 INT
105 LengthOfStrResource(IN HINSTANCE hInst,
106 IN UINT uID);
107
108 DWORD
109 LoadAndFormatString(IN HINSTANCE hInstance,
110 IN UINT uID,
111 OUT LPWSTR *lpTarget,
112 ...);
113
114 DWORD
115 LoadAndFormatStringsCat(IN HINSTANCE hInstance,
116 IN UINT *uID,
117 IN UINT nIDs,
118 OUT LPWSTR *lpTarget,
119 ...);
120
121 LPARAM
122 ListViewGetSelectedItemData(IN HWND hwnd);
123
124 LPWSTR
125 ConvertMultiByteToUnicode(IN LPCSTR lpMultiByteStr,
126 IN UINT uCodePage);
127
128 HINSTANCE
129 LoadAndInitComctl32(VOID);
130
131 BOOL
132 GetDeviceManufacturerString(IN HDEVINFO DeviceInfoSet,
133 IN PSP_DEVINFO_DATA DeviceInfoData,
134 OUT LPWSTR szBuffer,
135 IN DWORD BufferSize);
136
137 BOOL
138 GetDeviceLocationString(IN HDEVINFO DeviceInfoSet,
139 IN PSP_DEVINFO_DATA DeviceInfoData,
140 IN DEVINST dnParentDevInst OPTIONAL,
141 OUT LPWSTR szBuffer,
142 IN DWORD BufferSize);
143
144 BOOL
145 GetDeviceStatusString(IN DEVINST DevInst,
146 IN HMACHINE hMachine,
147 OUT LPWSTR szBuffer,
148 IN DWORD BufferSize);
149
150 BOOL
151 GetDriverProviderString(IN HDEVINFO DeviceInfoSet,
152 IN PSP_DEVINFO_DATA DeviceInfoData,
153 OUT LPWSTR szBuffer,
154 IN DWORD BufferSize);
155
156 BOOL
157 GetDriverVersionString(IN HDEVINFO DeviceInfoSet,
158 IN PSP_DEVINFO_DATA DeviceInfoData,
159 OUT LPWSTR szBuffer,
160 IN DWORD BufferSize);
161
162 BOOL
163 GetDriverDateString(IN HDEVINFO DeviceInfoSet,
164 IN PSP_DEVINFO_DATA DeviceInfoData,
165 OUT LPWSTR szBuffer,
166 IN DWORD BufferSize);
167
168 BOOL
169 IsDeviceHidden(IN DEVINST DevInst,
170 IN HMACHINE hMachine,
171 OUT BOOL *IsHidden);
172
173 BOOL
174 IsDriverInstalled(IN DEVINST DevInst,
175 IN HMACHINE hMachine,
176 OUT BOOL *Installed);
177
178 BOOL
179 CanDisableDevice(IN DEVINST DevInst,
180 IN HMACHINE hMachine,
181 OUT BOOL *CanDisable);
182
183 BOOL
184 IsDeviceStarted(IN DEVINST DevInst,
185 IN HMACHINE hMachine,
186 OUT BOOL *IsStarted);
187
188 BOOL
189 EnableDevice(IN HDEVINFO DeviceInfoSet,
190 IN PSP_DEVINFO_DATA DevInfoData OPTIONAL,
191 IN BOOL bEnable,
192 IN DWORD HardwareProfile OPTIONAL,
193 OUT BOOL *bNeedReboot OPTIONAL);
194
195 BOOL
196 GetDeviceTypeString(IN PSP_DEVINFO_DATA DeviceInfoData,
197 OUT LPWSTR szBuffer,
198 IN DWORD BufferSize);
199
200 BOOL
201 GetDeviceDescriptionString(IN HDEVINFO DeviceInfoSet,
202 IN PSP_DEVINFO_DATA DeviceInfoData,
203 OUT LPWSTR szBuffer,
204 IN DWORD BufferSize);
205
206 BOOL
207 FindCurrentDriver(IN HDEVINFO DeviceInfoSet,
208 IN PSP_DEVINFO_DATA DeviceInfoData,
209 OUT PSP_DRVINFO_DATA DriverInfoData);
210
211 #endif /* __DEVMGR_H */