/* [<][>][^][v][top][bottom][index][help] */
DEFINITIONS
This source file includes following definitions.
- get_device_path
- _PNP_GetVersion
- _PNP_GetDeviceListSize
- _PNP_GetDeviceList
- _PNP_GetDeviceRegProp
- _PNP_ValidateDeviceInstance
- _PNP_GetHwProfInfo
- _PNP_HwProfFlags
- _PNP_Disconnect
- _PNP_Connect
- _PNP_GetGlobalState
- _PNP_InitDetection
- _PNP_ReportLogOn
- _PNP_GetRootDeviceInstance
- _PNP_GetRelatedDeviceInstance
- _PNP_EnumerateSubKeys
- _PNP_GetDepth
- _PNP_SetDeviceRegProp
- _PNP_GetClassInstance
- _PNP_CreateKey
- _PNP_DeleteRegistryKey
- _PNP_GetClassCount
- _PNP_GetClassName
- _PNP_DeleteClassKey
- _PNP_GetInterfaceDeviceAlias
- _PNP_GetInterfaceDeviceList
- _PNP_GetInterfaceDeviceListSize
- _PNP_RegisterDeviceClassAssociation
- _PNP_UnregisterDeviceClassAssociation
- _PNP_GetClassRegProp
- _PNP_SetClassRegProp
- _PNP_CreateDevInst
- _PNP_DeviceInstanceAction
- _PNP_GetDeviceStatus
- _PNP_SetDeviceProblem
- _PNP_DisableDevInst
- _PNP_UninstallDevInst
- _PNP_AddID
- _PNP_RegisterDriver
- _PNP_QueryRemove
- _PNP_RequestDeviceEject
- _PNP_IsDockStationPresent
- _PNP_RequestEjectPC
- _PNP_AddEmptyLogConf
- _PNP_FreeLogConf
- _PNP_GetFirstLogConf
- _PNP_GetNextLogConf
- _PNP_GetLogConfPriority
- _PNP_AddResDes
- _PNP_FreeResDes
- _PNP_GetNextResDes
- _PNP_GetResDesData
- _PNP_GetResDesDataSize
- _PNP_ModifyResDes
- _PNP_DetectResourceLimit
- _PNP_QueryResConfList
- _PNP_SetHwProf
- _PNP_QueryArbitratorFreeData
- _PNP_QueryArbitratorFreeSize
- _PNP_RunDetection
- _PNP_RegisterNotification
- _PNP_UnregisterNotification
- _PNP_GetCustomDevProp
- _PNP_GetVersionInternal
- _PNP_GetBlockedDriverInfo
- _PNP_GetServerSideDeviceInstallFlags
1 /*
2 * Unix SMB/CIFS implementation.
3 * RPC Pipe client / server routines
4 *
5 * Copyright (C) Gerald (Jerry) Carter 2005.
6 * Copyright (C) Guenther Deschner 2008,2009.
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 3 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, see <http://www.gnu.org/licenses/>.
20 */
21
22 #include "includes.h"
23
24 #undef DBGC_CLASS
25 #define DBGC_CLASS DBGC_RPC_SRV
26
27 /********************************************************************
28 ********************************************************************/
29
30 static char* get_device_path(TALLOC_CTX *mem_ctx, const char *device )
/* [<][>][^][v][top][bottom][index][help] */
31 {
32 return talloc_asprintf(mem_ctx, "ROOT\\Legacy_%s\\0000", device);
33 }
34
35 /********************************************************************
36 ********************************************************************/
37
38 WERROR _PNP_GetVersion(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
39 struct PNP_GetVersion *r)
40 {
41 *r->out.version = 0x0400; /* no idea what this means */
42
43 return WERR_OK;
44 }
45
46 /********************************************************************
47 ********************************************************************/
48
49 WERROR _PNP_GetDeviceListSize(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
50 struct PNP_GetDeviceListSize *r)
51 {
52 char *devicepath;
53
54 if ((r->in.flags & CM_GETIDLIST_FILTER_SERVICE) &&
55 (!r->in.devicename)) {
56 return WERR_CM_INVALID_POINTER;
57 }
58
59 if (!(devicepath = get_device_path(p->mem_ctx, r->in.devicename))) {
60 return WERR_NOMEM;
61 }
62
63 *r->out.size = strlen(devicepath) + 2;
64
65 TALLOC_FREE(devicepath);
66
67 return WERR_OK;
68 }
69
70 /****************************************************************
71 _PNP_GetDeviceList
72 ****************************************************************/
73
74 WERROR _PNP_GetDeviceList(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
75 struct PNP_GetDeviceList *r)
76 {
77 char *devicepath;
78 uint32_t size = 0;
79 char **multi_sz = NULL;
80 size_t multi_sz_len;
81 uint16_t *multi_sz_buf;
82
83 if ((r->in.flags & CM_GETIDLIST_FILTER_SERVICE) &&
84 (!r->in.filter)) {
85 return WERR_CM_INVALID_POINTER;
86 }
87
88 if (!(devicepath = get_device_path(p->mem_ctx, r->in.filter))) {
89 return WERR_NOMEM;
90 }
91
92 size = strlen(devicepath) + 2;
93
94 if (*r->in.length < size) {
95 return WERR_CM_BUFFER_SMALL;
96 }
97
98 multi_sz = talloc_zero_array(p->mem_ctx, char *, 2);
99 if (!multi_sz) {
100 return WERR_NOMEM;
101 }
102
103 multi_sz[0] = devicepath;
104
105 multi_sz_len = regval_build_multi_sz(multi_sz, &multi_sz_buf);
106 if (!multi_sz_len) {
107 return WERR_NOMEM;
108 }
109
110 if (*r->in.length < multi_sz_len/2) {
111 return WERR_CM_BUFFER_SMALL;
112 }
113
114 memcpy(r->out.buffer, multi_sz_buf, multi_sz_len);
115
116 return WERR_OK;
117 }
118
119 /********************************************************************
120 _PNP_GetDeviceRegProp
121 ********************************************************************/
122
123 WERROR _PNP_GetDeviceRegProp(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
124 struct PNP_GetDeviceRegProp *r)
125 {
126 char *ptr;
127 REGVAL_CTR *values;
128 REGISTRY_VALUE *val;
129
130 switch( r->in.property ) {
131 case DEV_REGPROP_DESC:
132
133 /* just parse the service name from the device path and then
134 lookup the display name */
135 if ( !(ptr = strrchr_m( r->in.devicepath, '\\' )) )
136 return WERR_GENERAL_FAILURE;
137 *ptr = '\0';
138
139 if ( !(ptr = strrchr_m( r->in.devicepath, '_' )) )
140 return WERR_GENERAL_FAILURE;
141 ptr++;
142
143 if ( !(values = svcctl_fetch_regvalues(
144 ptr, p->server_info->ptok)))
145 return WERR_GENERAL_FAILURE;
146
147 if ( !(val = regval_ctr_getvalue( values, "DisplayName" )) ) {
148 TALLOC_FREE( values );
149 return WERR_GENERAL_FAILURE;
150 }
151
152 if (*r->in.buffer_size < val->size) {
153 *r->out.needed = val->size;
154 *r->out.buffer_size = 0;
155 TALLOC_FREE( values );
156 return WERR_CM_BUFFER_SMALL;
157 }
158
159 r->out.buffer = (uint8_t *)talloc_memdup(p->mem_ctx, val->data_p, val->size);
160 TALLOC_FREE(values);
161 if (!r->out.buffer) {
162 return WERR_NOMEM;
163 }
164
165 *r->out.reg_data_type = REG_SZ; /* always 1...tested using a remove device manager connection */
166 *r->out.buffer_size = val->size;
167 *r->out.needed = val->size;
168
169 break;
170
171 default:
172 *r->out.reg_data_type = 0x00437c98; /* ??? */
173 return WERR_CM_NO_SUCH_VALUE;
174 }
175
176 return WERR_OK;
177 }
178
179 /********************************************************************
180 ********************************************************************/
181
182 WERROR _PNP_ValidateDeviceInstance(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
183 struct PNP_ValidateDeviceInstance *r)
184 {
185 /* whatever dude */
186 return WERR_OK;
187 }
188
189 /********************************************************************
190 ********************************************************************/
191
192 WERROR _PNP_GetHwProfInfo(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
193 struct PNP_GetHwProfInfo *r)
194 {
195 /* steal the incoming buffer */
196
197 r->out.info = r->in.info;
198
199 /* Take the 5th Ammentment */
200
201 return WERR_CM_NO_MORE_HW_PROFILES;
202 }
203
204 /********************************************************************
205 ********************************************************************/
206
207 WERROR _PNP_HwProfFlags(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
208 struct PNP_HwProfFlags *r)
209 {
210 /* just nod your head */
211
212 return WERR_OK;
213 }
214
215 /****************************************************************
216 ****************************************************************/
217
218 WERROR _PNP_Disconnect(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
219 struct PNP_Disconnect *r)
220 {
221 p->rng_fault_state = true;
222 return WERR_NOT_SUPPORTED;
223 }
224
225 /****************************************************************
226 ****************************************************************/
227
228 WERROR _PNP_Connect(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
229 struct PNP_Connect *r)
230 {
231 p->rng_fault_state = true;
232 return WERR_NOT_SUPPORTED;
233 }
234
235 /****************************************************************
236 ****************************************************************/
237
238 WERROR _PNP_GetGlobalState(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
239 struct PNP_GetGlobalState *r)
240 {
241 p->rng_fault_state = true;
242 return WERR_NOT_SUPPORTED;
243 }
244
245 /****************************************************************
246 ****************************************************************/
247
248 WERROR _PNP_InitDetection(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
249 struct PNP_InitDetection *r)
250 {
251 p->rng_fault_state = true;
252 return WERR_NOT_SUPPORTED;
253 }
254
255 /****************************************************************
256 ****************************************************************/
257
258 WERROR _PNP_ReportLogOn(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
259 struct PNP_ReportLogOn *r)
260 {
261 p->rng_fault_state = true;
262 return WERR_NOT_SUPPORTED;
263 }
264
265 /****************************************************************
266 ****************************************************************/
267
268 WERROR _PNP_GetRootDeviceInstance(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
269 struct PNP_GetRootDeviceInstance *r)
270 {
271 p->rng_fault_state = true;
272 return WERR_NOT_SUPPORTED;
273 }
274
275 /****************************************************************
276 ****************************************************************/
277
278 WERROR _PNP_GetRelatedDeviceInstance(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
279 struct PNP_GetRelatedDeviceInstance *r)
280 {
281 p->rng_fault_state = true;
282 return WERR_NOT_SUPPORTED;
283 }
284
285 /****************************************************************
286 ****************************************************************/
287
288 WERROR _PNP_EnumerateSubKeys(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
289 struct PNP_EnumerateSubKeys *r)
290 {
291 p->rng_fault_state = true;
292 return WERR_NOT_SUPPORTED;
293 }
294
295 /****************************************************************
296 ****************************************************************/
297
298 WERROR _PNP_GetDepth(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
299 struct PNP_GetDepth *r)
300 {
301 p->rng_fault_state = true;
302 return WERR_NOT_SUPPORTED;
303 }
304
305 /****************************************************************
306 ****************************************************************/
307
308 WERROR _PNP_SetDeviceRegProp(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
309 struct PNP_SetDeviceRegProp *r)
310 {
311 p->rng_fault_state = true;
312 return WERR_NOT_SUPPORTED;
313 }
314
315 /****************************************************************
316 ****************************************************************/
317
318 WERROR _PNP_GetClassInstance(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
319 struct PNP_GetClassInstance *r)
320 {
321 p->rng_fault_state = true;
322 return WERR_NOT_SUPPORTED;
323 }
324
325 /****************************************************************
326 ****************************************************************/
327
328 WERROR _PNP_CreateKey(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
329 struct PNP_CreateKey *r)
330 {
331 p->rng_fault_state = true;
332 return WERR_NOT_SUPPORTED;
333 }
334
335 /****************************************************************
336 ****************************************************************/
337
338 WERROR _PNP_DeleteRegistryKey(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
339 struct PNP_DeleteRegistryKey *r)
340 {
341 p->rng_fault_state = true;
342 return WERR_NOT_SUPPORTED;
343 }
344
345 /****************************************************************
346 ****************************************************************/
347
348 WERROR _PNP_GetClassCount(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
349 struct PNP_GetClassCount *r)
350 {
351 p->rng_fault_state = true;
352 return WERR_NOT_SUPPORTED;
353 }
354
355 /****************************************************************
356 ****************************************************************/
357
358 WERROR _PNP_GetClassName(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
359 struct PNP_GetClassName *r)
360 {
361 p->rng_fault_state = true;
362 return WERR_NOT_SUPPORTED;
363 }
364
365 /****************************************************************
366 ****************************************************************/
367
368 WERROR _PNP_DeleteClassKey(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
369 struct PNP_DeleteClassKey *r)
370 {
371 p->rng_fault_state = true;
372 return WERR_NOT_SUPPORTED;
373 }
374
375 /****************************************************************
376 ****************************************************************/
377
378 WERROR _PNP_GetInterfaceDeviceAlias(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
379 struct PNP_GetInterfaceDeviceAlias *r)
380 {
381 p->rng_fault_state = true;
382 return WERR_NOT_SUPPORTED;
383 }
384
385 /****************************************************************
386 ****************************************************************/
387
388 WERROR _PNP_GetInterfaceDeviceList(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
389 struct PNP_GetInterfaceDeviceList *r)
390 {
391 p->rng_fault_state = true;
392 return WERR_NOT_SUPPORTED;
393 }
394
395 /****************************************************************
396 ****************************************************************/
397
398 WERROR _PNP_GetInterfaceDeviceListSize(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
399 struct PNP_GetInterfaceDeviceListSize *r)
400 {
401 p->rng_fault_state = true;
402 return WERR_NOT_SUPPORTED;
403 }
404
405 /****************************************************************
406 ****************************************************************/
407
408 WERROR _PNP_RegisterDeviceClassAssociation(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
409 struct PNP_RegisterDeviceClassAssociation *r)
410 {
411 p->rng_fault_state = true;
412 return WERR_NOT_SUPPORTED;
413 }
414
415 /****************************************************************
416 ****************************************************************/
417
418 WERROR _PNP_UnregisterDeviceClassAssociation(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
419 struct PNP_UnregisterDeviceClassAssociation *r)
420 {
421 p->rng_fault_state = true;
422 return WERR_NOT_SUPPORTED;
423 }
424
425 /****************************************************************
426 ****************************************************************/
427
428 WERROR _PNP_GetClassRegProp(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
429 struct PNP_GetClassRegProp *r)
430 {
431 p->rng_fault_state = true;
432 return WERR_NOT_SUPPORTED;
433 }
434
435 /****************************************************************
436 ****************************************************************/
437
438 WERROR _PNP_SetClassRegProp(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
439 struct PNP_SetClassRegProp *r)
440 {
441 p->rng_fault_state = true;
442 return WERR_NOT_SUPPORTED;
443 }
444
445 /****************************************************************
446 ****************************************************************/
447
448 WERROR _PNP_CreateDevInst(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
449 struct PNP_CreateDevInst *r)
450 {
451 p->rng_fault_state = true;
452 return WERR_NOT_SUPPORTED;
453 }
454
455 /****************************************************************
456 ****************************************************************/
457
458 WERROR _PNP_DeviceInstanceAction(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
459 struct PNP_DeviceInstanceAction *r)
460 {
461 p->rng_fault_state = true;
462 return WERR_NOT_SUPPORTED;
463 }
464
465 /****************************************************************
466 ****************************************************************/
467
468 WERROR _PNP_GetDeviceStatus(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
469 struct PNP_GetDeviceStatus *r)
470 {
471 p->rng_fault_state = true;
472 return WERR_NOT_SUPPORTED;
473 }
474
475 /****************************************************************
476 ****************************************************************/
477
478 WERROR _PNP_SetDeviceProblem(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
479 struct PNP_SetDeviceProblem *r)
480 {
481 p->rng_fault_state = true;
482 return WERR_NOT_SUPPORTED;
483 }
484
485 /****************************************************************
486 ****************************************************************/
487
488 WERROR _PNP_DisableDevInst(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
489 struct PNP_DisableDevInst *r)
490 {
491 p->rng_fault_state = true;
492 return WERR_NOT_SUPPORTED;
493 }
494
495 /****************************************************************
496 ****************************************************************/
497
498 WERROR _PNP_UninstallDevInst(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
499 struct PNP_UninstallDevInst *r)
500 {
501 p->rng_fault_state = true;
502 return WERR_NOT_SUPPORTED;
503 }
504
505 /****************************************************************
506 ****************************************************************/
507
508 WERROR _PNP_AddID(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
509 struct PNP_AddID *r)
510 {
511 p->rng_fault_state = true;
512 return WERR_NOT_SUPPORTED;
513 }
514
515 /****************************************************************
516 ****************************************************************/
517
518 WERROR _PNP_RegisterDriver(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
519 struct PNP_RegisterDriver *r)
520 {
521 p->rng_fault_state = true;
522 return WERR_NOT_SUPPORTED;
523 }
524
525 /****************************************************************
526 ****************************************************************/
527
528 WERROR _PNP_QueryRemove(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
529 struct PNP_QueryRemove *r)
530 {
531 p->rng_fault_state = true;
532 return WERR_NOT_SUPPORTED;
533 }
534
535 /****************************************************************
536 ****************************************************************/
537
538 WERROR _PNP_RequestDeviceEject(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
539 struct PNP_RequestDeviceEject *r)
540 {
541 p->rng_fault_state = true;
542 return WERR_NOT_SUPPORTED;
543 }
544
545 /****************************************************************
546 ****************************************************************/
547
548 WERROR _PNP_IsDockStationPresent(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
549 struct PNP_IsDockStationPresent *r)
550 {
551 p->rng_fault_state = true;
552 return WERR_NOT_SUPPORTED;
553 }
554
555 /****************************************************************
556 ****************************************************************/
557
558 WERROR _PNP_RequestEjectPC(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
559 struct PNP_RequestEjectPC *r)
560 {
561 p->rng_fault_state = true;
562 return WERR_NOT_SUPPORTED;
563 }
564
565 /****************************************************************
566 ****************************************************************/
567
568 WERROR _PNP_AddEmptyLogConf(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
569 struct PNP_AddEmptyLogConf *r)
570 {
571 p->rng_fault_state = true;
572 return WERR_NOT_SUPPORTED;
573 }
574
575 /****************************************************************
576 ****************************************************************/
577
578 WERROR _PNP_FreeLogConf(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
579 struct PNP_FreeLogConf *r)
580 {
581 p->rng_fault_state = true;
582 return WERR_NOT_SUPPORTED;
583 }
584
585 /****************************************************************
586 ****************************************************************/
587
588 WERROR _PNP_GetFirstLogConf(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
589 struct PNP_GetFirstLogConf *r)
590 {
591 p->rng_fault_state = true;
592 return WERR_NOT_SUPPORTED;
593 }
594
595 /****************************************************************
596 ****************************************************************/
597
598 WERROR _PNP_GetNextLogConf(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
599 struct PNP_GetNextLogConf *r)
600 {
601 p->rng_fault_state = true;
602 return WERR_NOT_SUPPORTED;
603 }
604
605 /****************************************************************
606 ****************************************************************/
607
608 WERROR _PNP_GetLogConfPriority(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
609 struct PNP_GetLogConfPriority *r)
610 {
611 p->rng_fault_state = true;
612 return WERR_NOT_SUPPORTED;
613 }
614
615 /****************************************************************
616 ****************************************************************/
617
618 WERROR _PNP_AddResDes(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
619 struct PNP_AddResDes *r)
620 {
621 p->rng_fault_state = true;
622 return WERR_NOT_SUPPORTED;
623 }
624
625 /****************************************************************
626 ****************************************************************/
627
628 WERROR _PNP_FreeResDes(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
629 struct PNP_FreeResDes *r)
630 {
631 p->rng_fault_state = true;
632 return WERR_NOT_SUPPORTED;
633 }
634
635 /****************************************************************
636 ****************************************************************/
637
638 WERROR _PNP_GetNextResDes(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
639 struct PNP_GetNextResDes *r)
640 {
641 p->rng_fault_state = true;
642 return WERR_NOT_SUPPORTED;
643 }
644
645 /****************************************************************
646 ****************************************************************/
647
648 WERROR _PNP_GetResDesData(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
649 struct PNP_GetResDesData *r)
650 {
651 p->rng_fault_state = true;
652 return WERR_NOT_SUPPORTED;
653 }
654
655 /****************************************************************
656 ****************************************************************/
657
658 WERROR _PNP_GetResDesDataSize(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
659 struct PNP_GetResDesDataSize *r)
660 {
661 p->rng_fault_state = true;
662 return WERR_NOT_SUPPORTED;
663 }
664
665 /****************************************************************
666 ****************************************************************/
667
668 WERROR _PNP_ModifyResDes(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
669 struct PNP_ModifyResDes *r)
670 {
671 p->rng_fault_state = true;
672 return WERR_NOT_SUPPORTED;
673 }
674
675 /****************************************************************
676 ****************************************************************/
677
678 WERROR _PNP_DetectResourceLimit(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
679 struct PNP_DetectResourceLimit *r)
680 {
681 p->rng_fault_state = true;
682 return WERR_NOT_SUPPORTED;
683 }
684
685 /****************************************************************
686 ****************************************************************/
687
688 WERROR _PNP_QueryResConfList(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
689 struct PNP_QueryResConfList *r)
690 {
691 p->rng_fault_state = true;
692 return WERR_NOT_SUPPORTED;
693 }
694
695 /****************************************************************
696 ****************************************************************/
697
698 WERROR _PNP_SetHwProf(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
699 struct PNP_SetHwProf *r)
700 {
701 p->rng_fault_state = true;
702 return WERR_NOT_SUPPORTED;
703 }
704
705 /****************************************************************
706 ****************************************************************/
707
708 WERROR _PNP_QueryArbitratorFreeData(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
709 struct PNP_QueryArbitratorFreeData *r)
710 {
711 p->rng_fault_state = true;
712 return WERR_NOT_SUPPORTED;
713 }
714
715 /****************************************************************
716 ****************************************************************/
717
718 WERROR _PNP_QueryArbitratorFreeSize(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
719 struct PNP_QueryArbitratorFreeSize *r)
720 {
721 p->rng_fault_state = true;
722 return WERR_NOT_SUPPORTED;
723 }
724
725 /****************************************************************
726 ****************************************************************/
727
728 WERROR _PNP_RunDetection(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
729 struct PNP_RunDetection *r)
730 {
731 p->rng_fault_state = true;
732 return WERR_NOT_SUPPORTED;
733 }
734
735 /****************************************************************
736 ****************************************************************/
737
738 WERROR _PNP_RegisterNotification(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
739 struct PNP_RegisterNotification *r)
740 {
741 p->rng_fault_state = true;
742 return WERR_NOT_SUPPORTED;
743 }
744
745 /****************************************************************
746 ****************************************************************/
747
748 WERROR _PNP_UnregisterNotification(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
749 struct PNP_UnregisterNotification *r)
750 {
751 p->rng_fault_state = true;
752 return WERR_NOT_SUPPORTED;
753 }
754
755 /****************************************************************
756 ****************************************************************/
757
758 WERROR _PNP_GetCustomDevProp(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
759 struct PNP_GetCustomDevProp *r)
760 {
761 p->rng_fault_state = true;
762 return WERR_NOT_SUPPORTED;
763 }
764
765 /****************************************************************
766 ****************************************************************/
767
768 WERROR _PNP_GetVersionInternal(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
769 struct PNP_GetVersionInternal *r)
770 {
771 p->rng_fault_state = true;
772 return WERR_NOT_SUPPORTED;
773 }
774
775 /****************************************************************
776 ****************************************************************/
777
778 WERROR _PNP_GetBlockedDriverInfo(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
779 struct PNP_GetBlockedDriverInfo *r)
780 {
781 p->rng_fault_state = true;
782 return WERR_NOT_SUPPORTED;
783 }
784
785 /****************************************************************
786 ****************************************************************/
787
788 WERROR _PNP_GetServerSideDeviceInstallFlags(pipes_struct *p,
/* [<][>][^][v][top][bottom][index][help] */
789 struct PNP_GetServerSideDeviceInstallFlags *r)
790 {
791 p->rng_fault_state = true;
792 return WERR_NOT_SUPPORTED;
793 }
794