s4-ldb: don't allow modifies outside a transaction.
[Samba/cd1.git] / librpc / idl / ntsvcs.idl
blob91a85b96b935dd50767ffccf27c49543be4a8f75
1 /*
2 plug and play services
3 */
5 import "misc.idl";
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")
13 interface ntsvcs
15 /******************/
16 /* Function: 0x00 */
18 [todo] WERROR PNP_Disconnect();
20 /******************/
21 /* Function: 0x01 */
23 [todo] WERROR PNP_Connect();
25 /******************/
26 /* Function: 0x02 */
28 WERROR PNP_GetVersion(
29 [out,ref] uint16 *version
32 /******************/
33 /* Function: 0x03 */
35 [todo] WERROR PNP_GetGlobalState();
37 /******************/
38 /* Function: 0x04 */
40 [todo] WERROR PNP_InitDetection();
42 /******************/
43 /* Function: 0x05 */
45 [todo] WERROR PNP_ReportLogOn();
47 /******************/
48 /* Function: 0x06 */
50 WERROR PNP_ValidateDeviceInstance(
51 [in,ref] [string,charset(UTF16)] uint16 *devicepath,
52 [in] uint32 flags
55 /******************/
56 /* Function: 0x07 */
58 [todo] WERROR PNP_GetRootDeviceInstance();
60 /******************/
61 /* Function: 0x08 */
63 [todo] WERROR PNP_GetRelatedDeviceInstance();
65 /******************/
66 /* Function: 0x09 */
68 [todo] WERROR PNP_EnumerateSubKeys();
70 /******************/
71 /* Function: 0x0a */
73 const int CM_GETIDLIST_FILTER_NONE = 0x00000000;
75 typedef [bitmap32bit] bitmap {
76 CM_GETIDLIST_FILTER_ENUMERATOR = 0x00000001,
77 CM_GETIDLIST_FILTER_SERVICE = 0x00000002,
78 CM_GETIDLIST_FILTER_EJECTRELATIONS = 0x00000004,
79 CM_GETIDLIST_FILTER_REMOVALRELATIONS = 0x00000008,
80 CM_GETIDLIST_FILTER_POWERRELATIONS = 0x00000010,
81 CM_GETIDLIST_FILTER_BUSRELATIONS = 0x00000020,
82 CM_GETIDLIST_DONOTGENERATE = 0x10000040,
83 CM_GETIDLIST_FILTER_TRANSPORTRELATIONS = 0x00000080,
84 CM_GETIDLIST_FILTER_PRESENT = 0x00000100,
85 CM_GETIDLIST_FILTER_CLASS = 0x00000200
86 } PNP_GetIdListFlags;
88 WERROR PNP_GetDeviceList(
89 [in,unique] [string,charset(UTF16)] uint16 *filter,
90 [out,ref] [size_is(*length),length_is(*length)] uint16 *buffer,
91 [in,out,ref] uint32 *length,
92 [in] PNP_GetIdListFlags flags
95 /******************/
96 /* Function: 0x0b */
98 WERROR PNP_GetDeviceListSize(
99 [in,unique] [string,charset(UTF16)] uint16 *devicename,
100 [out,ref] uint32 *size,
101 [in] PNP_GetIdListFlags flags
104 /******************/
105 /* Function: 0x0c */
107 [todo] WERROR PNP_GetDepth();
109 /******************/
110 /* Function: 0x0d */
112 const int DEV_REGPROP_DESC = 1;
114 WERROR PNP_GetDeviceRegProp(
115 [in,ref] [string,charset(UTF16)] uint16 *devicepath,
116 [in] uint32 property,
117 [in,out,ref] winreg_Type *reg_data_type,
118 [out,ref] [size_is(*buffer_size)] [length_is(*buffer_size)] uint8 *buffer,
119 [in,out,ref] uint32 *buffer_size,
120 [in,out,ref] uint32 *needed,
121 [in] uint32 flags
124 /******************/
125 /* Function: 0x0e */
127 [todo] WERROR PNP_SetDeviceRegProp();
129 /******************/
130 /* Function: 0x0f */
132 [todo] WERROR PNP_GetClassInstance();
134 /******************/
135 /* Function: 0x10 */
137 [todo] WERROR PNP_CreateKey();
139 /******************/
140 /* Function: 0x11 */
142 [todo] WERROR PNP_DeleteRegistryKey();
144 /******************/
145 /* Function: 0x12 */
147 [todo] WERROR PNP_GetClassCount();
149 /******************/
150 /* Function: 0x13 */
152 [todo] WERROR PNP_GetClassName();
154 /******************/
155 /* Function: 0x14 */
157 [todo] WERROR PNP_DeleteClassKey();
159 /******************/
160 /* Function: 0x15 */
162 [todo] WERROR PNP_GetInterfaceDeviceAlias();
164 /******************/
165 /* Function: 0x16 */
167 [todo] WERROR PNP_GetInterfaceDeviceList();
169 /******************/
170 /* Function: 0x17 */
172 [todo] WERROR PNP_GetInterfaceDeviceListSize();
174 /******************/
175 /* Function: 0x18 */
177 [todo] WERROR PNP_RegisterDeviceClassAssociation();
179 /******************/
180 /* Function: 0x19 */
182 [todo] WERROR PNP_UnregisterDeviceClassAssociation();
184 /******************/
185 /* Function: 0x1a */
187 [todo] WERROR PNP_GetClassRegProp();
189 /******************/
190 /* Function: 0x1b */
192 [todo] WERROR PNP_SetClassRegProp();
194 /******************/
195 /* Function: 0x1c */
197 [todo] WERROR PNP_CreateDevInst();
199 /******************/
200 /* Function: 0x1d */
202 [todo] WERROR PNP_DeviceInstanceAction();
204 /******************/
205 /* Function: 0x1e */
207 [todo] WERROR PNP_GetDeviceStatus();
209 /******************/
210 /* Function: 0x1f */
212 [todo] WERROR PNP_SetDeviceProblem();
214 /******************/
215 /* Function: 0x20 */
217 [todo] WERROR PNP_DisableDevInst();
219 /******************/
220 /* Function: 0x21 */
222 [todo] WERROR PNP_UninstallDevInst();
224 /******************/
225 /* Function: 0x22 */
227 [todo] WERROR PNP_AddID();
229 /******************/
230 /* Function: 0x23 */
232 [todo] WERROR PNP_RegisterDriver();
234 /******************/
235 /* Function: 0x24 */
237 [todo] WERROR PNP_QueryRemove();
239 /******************/
240 /* Function: 0x25 */
242 [todo] WERROR PNP_RequestDeviceEject();
244 /******************/
245 /* Function: 0x26 */
247 [todo] WERROR PNP_IsDockStationPresent();
249 /******************/
250 /* Function: 0x27 */
252 [todo] WERROR PNP_RequestEjectPC();
254 /******************/
255 /* Function: 0x28 */
257 WERROR PNP_HwProfFlags(
258 [in] uint32 action,
259 [in,ref] [string,charset(UTF16)] uint16 *devicepath,
260 [in] uint32 config,
261 [in,out,ref] uint32 *profile_flags,
262 [in,out,unique] uint16 *veto_type,
263 [in,unique] [string,charset(UTF16)] uint16 *unknown5,
264 [out,unique] [string,charset(UTF16)] uint16 **unknown5a,
265 [in] uint32 name_length,
266 [in] uint32 flags
269 /******************/
270 /* Function: 0x29 */
272 typedef struct {
273 uint32 profile_handle;
274 uint16 friendly_name[80];
275 uint32 flags;
276 } PNP_HwProfInfo;
278 WERROR PNP_GetHwProfInfo(
279 [in] uint32 idx,
280 [in,out,ref] PNP_HwProfInfo *info,
281 [in] uint32 size,
282 [in] uint32 flags
285 /******************/
286 /* Function: 0x2a */
288 [todo] WERROR PNP_AddEmptyLogConf();
290 /******************/
291 /* Function: 0x2b */
293 [todo] WERROR PNP_FreeLogConf();
295 /******************/
296 /* Function: 0x2c */
298 [todo] WERROR PNP_GetFirstLogConf();
300 /******************/
301 /* Function: 0x2d */
303 [todo] WERROR PNP_GetNextLogConf();
305 /******************/
306 /* Function: 0x2e */
308 [todo] WERROR PNP_GetLogConfPriority();
310 /******************/
311 /* Function: 0x2f */
313 [todo] WERROR PNP_AddResDes();
315 /******************/
316 /* Function: 0x30 */
318 [todo] WERROR PNP_FreeResDes();
320 /******************/
321 /* Function: 0x31 */
323 [todo] WERROR PNP_GetNextResDes();
325 /******************/
326 /* Function: 0x32 */
328 [todo] WERROR PNP_GetResDesData();
330 /******************/
331 /* Function: 0x33 */
333 [todo] WERROR PNP_GetResDesDataSize();
335 /******************/
336 /* Function: 0x34 */
338 [todo] WERROR PNP_ModifyResDes();
340 /******************/
341 /* Function: 0x35 */
343 [todo] WERROR PNP_DetectResourceLimit();
345 /******************/
346 /* Function: 0x36 */
348 [todo] WERROR PNP_QueryResConfList();
350 /******************/
351 /* Function: 0x37 */
353 [todo] WERROR PNP_SetHwProf();
355 /******************/
356 /* Function: 0x38 */
358 [todo] WERROR PNP_QueryArbitratorFreeData();
360 /******************/
361 /* Function: 0x39 */
363 [todo] WERROR PNP_QueryArbitratorFreeSize();
365 /******************/
366 /* Function: 0x3a */
368 [todo] WERROR PNP_RunDetection();
370 /******************/
371 /* Function: 0x3b */
373 [todo] WERROR PNP_RegisterNotification();
375 /******************/
376 /* Function: 0x3c */
378 [todo] WERROR PNP_UnregisterNotification();
380 /******************/
381 /* Function: 0x3d */
383 [todo] WERROR PNP_GetCustomDevProp();
385 /******************/
386 /* Function: 0x3e */
388 [todo] WERROR PNP_GetVersionInternal();
390 /******************/
391 /* Function: 0x3f */
393 [todo] WERROR PNP_GetBlockedDriverInfo();
395 /******************/
396 /* Function: 0x40 */
398 [todo] WERROR PNP_GetServerSideDeviceInstallFlags();