ntsvcs: fill in some more formerly unknowns in PNP_GetHwProfInfo.
[kai/samba.git] / librpc / idl / ntsvcs.idl
1 /*
2   plug and play services
3 */
4
5 import "winreg.idl";
6
7 [
8   uuid("8d9f4e40-a03d-11ce-8f69-08003e30051b"),
9   version(1.0),
10   endpoint("ncacn_np:[\\pipe\\ntsvcs]","ncacn_np:[\\pipe\\plugplay]"),
11   helpstring("Plug and Play services")
12 ]
13 interface ntsvcs
14 {
15         /******************/
16         /* Function: 0x00 */
17
18         [todo] WERROR PNP_Disconnect();
19
20         /******************/
21         /* Function: 0x01 */
22
23         [todo] WERROR PNP_Connect();
24
25         /******************/
26         /* Function: 0x02 */
27
28         WERROR PNP_GetVersion(
29                 [out,ref] uint16 *version
30                 );
31
32         /******************/
33         /* Function: 0x03 */
34
35         [todo] WERROR PNP_GetGlobalState();
36
37         /******************/
38         /* Function: 0x04 */
39
40         [todo] WERROR PNP_InitDetection();
41
42         /******************/
43         /* Function: 0x05 */
44
45         [todo] WERROR PNP_ReportLogOn();
46
47         /******************/
48         /* Function: 0x06 */
49
50         WERROR PNP_ValidateDeviceInstance(
51                 [in,ref] [string,charset(UTF16)] uint16 *devicepath,
52                 [in] uint32 flags
53                 );
54
55         /******************/
56         /* Function: 0x07 */
57
58         [todo] WERROR PNP_GetRootDeviceInstance();
59
60         /******************/
61         /* Function: 0x08 */
62
63         [todo] WERROR PNP_GetRelatedDeviceInstance();
64
65         /******************/
66         /* Function: 0x09 */
67
68         [todo] WERROR PNP_EnumerateSubKeys();
69
70         /******************/
71         /* Function: 0x0a */
72
73         [todo] WERROR PNP_GetDeviceList(
74                 [in,unique] [string,charset(UTF16)] uint16 *filter,
75                 [out,ref] [size_is(*length),length_is(*length)] uint16 *buffer,
76                 [in,out,ref] uint32 *length,
77                 [in] uint32 flags
78                 );
79
80         /******************/
81         /* Function: 0x0b */
82
83         WERROR PNP_GetDeviceListSize(
84                 [in,unique] [string,charset(UTF16)] uint16 *devicename,
85                 [out,ref] uint32 *size,
86                 [in] uint32 flags
87                 );
88
89         /******************/
90         /* Function: 0x0c */
91
92         [todo] WERROR PNP_GetDepth();
93
94         /******************/
95         /* Function: 0x0d */
96
97         const int DEV_REGPROP_DESC = 1;
98
99         WERROR PNP_GetDeviceRegProp(
100                 [in,ref] [string,charset(UTF16)] uint16 *devicepath,
101                 [in] uint32 property,
102                 [in,out,ref] winreg_Type *reg_data_type,
103                 [out,ref] [size_is(*buffer_size)] [length_is(*buffer_size)] uint8 *buffer,
104                 [in,out,ref] uint32 *buffer_size,
105                 [in,out,ref] uint32 *needed,
106                 [in] uint32 flags
107                 );
108
109         /******************/
110         /* Function: 0x0e */
111
112         [todo] WERROR PNP_SetDeviceRegProp();
113
114         /******************/
115         /* Function: 0x0f */
116
117         [todo] WERROR PNP_GetClassInstance();
118
119         /******************/
120         /* Function: 0x10 */
121
122         [todo] WERROR PNP_CreateKey();
123
124         /******************/
125         /* Function: 0x11 */
126
127         [todo] WERROR PNP_DeleteRegistryKey();
128
129         /******************/
130         /* Function: 0x12 */
131
132         [todo] WERROR PNP_GetClassCount();
133
134         /******************/
135         /* Function: 0x13 */
136
137         [todo] WERROR PNP_GetClassName();
138
139         /******************/
140         /* Function: 0x14 */
141
142         [todo] WERROR PNP_DeleteClassKey();
143
144         /******************/
145         /* Function: 0x15 */
146
147         [todo] WERROR PNP_GetInterfaceDeviceAlias();
148
149         /******************/
150         /* Function: 0x16 */
151
152         [todo] WERROR PNP_GetInterfaceDeviceList();
153
154         /******************/
155         /* Function: 0x17 */
156
157         [todo] WERROR PNP_GetInterfaceDeviceListSize();
158
159         /******************/
160         /* Function: 0x18 */
161
162         [todo] WERROR PNP_RegisterDeviceClassAssociation();
163
164         /******************/
165         /* Function: 0x19 */
166
167         [todo] WERROR PNP_UnregisterDeviceClassAssociation();
168
169         /******************/
170         /* Function: 0x1a */
171
172         [todo] WERROR PNP_GetClassRegProp();
173
174         /******************/
175         /* Function: 0x1b */
176
177         [todo] WERROR PNP_SetClassRegProp();
178
179         /******************/
180         /* Function: 0x1c */
181
182         [todo] WERROR PNP_CreateDevInst();
183
184         /******************/
185         /* Function: 0x1d */
186
187         [todo] WERROR PNP_DeviceInstanceAction();
188
189         /******************/
190         /* Function: 0x1e */
191
192         [todo] WERROR PNP_GetDeviceStatus();
193
194         /******************/
195         /* Function: 0x1f */
196
197         [todo] WERROR PNP_SetDeviceProblem();
198
199         /******************/
200         /* Function: 0x20 */
201
202         [todo] WERROR PNP_DisableDevInst();
203
204         /******************/
205         /* Function: 0x21 */
206
207         [todo] WERROR PNP_UninstallDevInst();
208
209         /******************/
210         /* Function: 0x22 */
211
212         [todo] WERROR PNP_AddID();
213
214         /******************/
215         /* Function: 0x23 */
216
217         [todo] WERROR PNP_RegisterDriver();
218
219         /******************/
220         /* Function: 0x24 */
221
222         [todo] WERROR PNP_QueryRemove();
223
224         /******************/
225         /* Function: 0x25 */
226
227         [todo] WERROR PNP_RequestDeviceEject();
228
229         /******************/
230         /* Function: 0x26 */
231
232         [todo] WERROR PNP_IsDockStationPresent();
233
234         /******************/
235         /* Function: 0x27 */
236
237         [todo] WERROR PNP_RequestEjectPC();
238
239         /******************/
240         /* Function: 0x28 */
241
242         WERROR PNP_HwProfFlags(
243                 [in] uint32 action,
244                 [in,ref] [string,charset(UTF16)] uint16 *devicepath,
245                 [in] uint32 config,
246                 [in,out,ref] uint32 *profile_flags,
247                 [in,out,unique] uint16 *veto_type,
248                 [in,unique] [string,charset(UTF16)] uint16 *unknown5,
249                 [out,unique] [string,charset(UTF16)] uint16 **unknown5a,
250                 [in] uint32 name_length,
251                 [in] uint32 flags
252                 );
253
254         /******************/
255         /* Function: 0x29 */
256
257         typedef struct {
258                 uint32 profile_handle;
259                 uint16 friendly_name[80];
260                 uint32 flags;
261         } PNP_HwProfInfo;
262
263         WERROR PNP_GetHwProfInfo(
264                 [in] uint32 idx,
265                 [in,out,ref] PNP_HwProfInfo *info,
266                 [in] uint32 size,
267                 [in] uint32 flags
268                 );
269
270         /******************/
271         /* Function: 0x2a */
272
273         [todo] WERROR PNP_AddEmptyLogConf();
274
275         /******************/
276         /* Function: 0x2b */
277
278         [todo] WERROR PNP_FreeLogConf();
279
280         /******************/
281         /* Function: 0x2c */
282
283         [todo] WERROR PNP_GetFirstLogConf();
284
285         /******************/
286         /* Function: 0x2d */
287
288         [todo] WERROR PNP_GetNextLogConf();
289
290         /******************/
291         /* Function: 0x2e */
292
293         [todo] WERROR PNP_GetLogConfPriority();
294
295         /******************/
296         /* Function: 0x2f */
297
298         [todo] WERROR PNP_AddResDes();
299
300         /******************/
301         /* Function: 0x30 */
302
303         [todo] WERROR PNP_FreeResDes();
304
305         /******************/
306         /* Function: 0x31 */
307
308         [todo] WERROR PNP_GetNextResDes();
309
310         /******************/
311         /* Function: 0x32 */
312
313         [todo] WERROR PNP_GetResDesData();
314
315         /******************/
316         /* Function: 0x33 */
317
318         [todo] WERROR PNP_GetResDesDataSize();
319
320         /******************/
321         /* Function: 0x34 */
322
323         [todo] WERROR PNP_ModifyResDes();
324
325         /******************/
326         /* Function: 0x35 */
327
328         [todo] WERROR PNP_DetectResourceLimit();
329
330         /******************/
331         /* Function: 0x36 */
332
333         [todo] WERROR PNP_QueryResConfList();
334
335         /******************/
336         /* Function: 0x37 */
337
338         [todo] WERROR PNP_SetHwProf();
339
340         /******************/
341         /* Function: 0x38 */
342
343         [todo] WERROR PNP_QueryArbitratorFreeData();
344
345         /******************/
346         /* Function: 0x39 */
347
348         [todo] WERROR PNP_QueryArbitratorFreeSize();
349
350         /******************/
351         /* Function: 0x3a */
352
353         [todo] WERROR PNP_RunDetection();
354
355         /******************/
356         /* Function: 0x3b */
357
358         [todo] WERROR PNP_RegisterNotification();
359
360         /******************/
361         /* Function: 0x3c */
362
363         [todo] WERROR PNP_UnregisterNotification();
364
365         /******************/
366         /* Function: 0x3d */
367
368         [todo] WERROR PNP_GetCustomDevProp();
369
370         /******************/
371         /* Function: 0x3e */
372
373         [todo] WERROR PNP_GetVersionInternal();
374
375         /******************/
376         /* Function: 0x3f */
377
378         [todo] WERROR PNP_GetBlockedDriverInfo();
379
380         /******************/
381         /* Function: 0x40 */
382
383         [todo] WERROR PNP_GetServerSideDeviceInstallFlags();
384 }