[IMM32] Improve ImmGetImeInfoEx (#3833)
[reactos.git] / drivers / storage / class / cdrom_new / ioctl.h
1 /*++
2
3 Copyright (C) Microsoft Corporation. All rights reserved.
4
5 Module Name:
6
7 ioctl.h
8
9 Abstract:
10
11 Functions to handle IOCTLs.
12
13 Author:
14
15 Environment:
16
17 kernel mode only
18
19 Notes:
20
21
22 Revision History:
23
24 --*/
25
26 #ifndef __IOCTL_H__
27 #define __IOCTL_H__
28
29 BOOLEAN
30 RequestDispatchProcessDirectly(
31 _In_ WDFDEVICE Device,
32 _In_ WDFREQUEST Request,
33 _In_ WDF_REQUEST_PARAMETERS RequestParameters
34 );
35
36 BOOLEAN
37 RequestDispatchToSequentialQueue(
38 _In_ WDFDEVICE Device,
39 _In_ WDFREQUEST Request,
40 _In_ WDF_REQUEST_PARAMETERS RequestParameters
41 );
42
43 BOOLEAN
44 RequestDispatchSyncWithSequentialQueue(
45 _In_ WDFDEVICE Device,
46 _In_ WDFREQUEST Request,
47 _In_ WDF_REQUEST_PARAMETERS RequestParameters
48 );
49
50 BOOLEAN
51 RequestDispatchSpecialIoctls(
52 _In_ WDFDEVICE Device,
53 _In_ WDFREQUEST Request,
54 _In_ WDF_REQUEST_PARAMETERS RequestParameters
55 );
56
57 BOOLEAN
58 RequestDispatchUnknownRequests(
59 _In_ WDFDEVICE Device,
60 _In_ WDFREQUEST Request,
61 _In_ WDF_REQUEST_PARAMETERS RequestParameters
62 );
63
64 //
65 // I/O Request Handlers
66 //
67
68 // Handlers that are called directly in dispatch routine.
69
70 NTSTATUS
71 RequestHandleGetInquiryData(
72 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
73 _In_ WDFREQUEST Request,
74 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
75 _Out_ size_t * DataLength
76 );
77
78 NTSTATUS
79 RequestHandleGetMediaTypeEx(
80 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
81 _In_ WDFREQUEST Request,
82 _Out_ size_t * DataLength
83 );
84
85 NTSTATUS
86 RequestHandleMountQueryUniqueId(
87 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
88 _In_ WDFREQUEST Request,
89 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
90 _Out_ size_t * DataLength
91 );
92
93 NTSTATUS
94 RequestHandleMountQueryDeviceName(
95 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
96 _In_ WDFREQUEST Request,
97 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
98 _Out_ size_t * DataLength
99 );
100
101 NTSTATUS
102 RequestHandleMountQuerySuggestedLinkName(
103 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
104 _In_ WDFREQUEST Request,
105 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
106 _Out_ size_t * DataLength
107 );
108
109 NTSTATUS
110 RequestHandleGetDeviceNumber(
111 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
112 _In_ WDFREQUEST Request,
113 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
114 _Out_ size_t * DataLength
115 );
116
117 NTSTATUS
118 RequestHandleGetHotPlugInfo(
119 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
120 _In_ WDFREQUEST Request,
121 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
122 _Out_ size_t * DataLength
123 );
124
125 NTSTATUS
126 RequestHandleSetHotPlugInfo(
127 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
128 _In_ WDFREQUEST Request,
129 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
130 _Out_ size_t * DataLength
131 );
132
133 _IRQL_requires_max_(APC_LEVEL)
134 NTSTATUS
135 RequestHandleEventNotification(
136 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
137 _In_opt_ WDFREQUEST Request,
138 _In_opt_ PWDF_REQUEST_PARAMETERS RequestParameters,
139 _Out_ size_t * DataLength
140 );
141
142 // Handlers that are called in RequestProcessSerializedIoctl in a work item.
143
144 _IRQL_requires_max_(APC_LEVEL)
145 NTSTATUS
146 RequestHandleGetDvdRegion(
147 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
148 _In_ WDFREQUEST Request,
149 _Out_ size_t * DataLength
150 );
151
152 NTSTATUS
153 RequestHandleQueryPropertyRetrieveCachedData(
154 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
155 _In_ WDFREQUEST Request,
156 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
157 _Out_ size_t * DataLength
158 );
159
160 _IRQL_requires_max_(APC_LEVEL)
161 NTSTATUS
162 RequestHandleReadTOC(
163 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
164 _In_ WDFREQUEST Request,
165 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
166 _Out_ size_t * DataLength
167 );
168
169 _IRQL_requires_max_(APC_LEVEL)
170 NTSTATUS
171 RequestHandleReadTocEx(
172 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
173 _In_ WDFREQUEST Request,
174 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
175 _Out_ size_t * DataLength
176 );
177
178 _IRQL_requires_max_(APC_LEVEL)
179 NTSTATUS
180 RequestHandleGetConfiguration(
181 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
182 _In_ WDFREQUEST Request,
183 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
184 _Out_ size_t * DataLength
185 );
186
187 _IRQL_requires_max_(PASSIVE_LEVEL)
188 NTSTATUS
189 RequestHandleGetDriveGeometry(
190 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
191 _In_ WDFREQUEST Request,
192 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
193 _Out_ size_t * DataLength
194 );
195
196 _IRQL_requires_max_(APC_LEVEL)
197 NTSTATUS
198 RequestHandleDiskVerify(
199 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
200 _In_ WDFREQUEST Request,
201 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
202 _Out_ size_t * DataLength
203 );
204
205 _IRQL_requires_max_(APC_LEVEL)
206 NTSTATUS
207 RequestHandleCheckVerify(
208 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
209 _In_ WDFREQUEST Request,
210 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
211 _Out_ size_t * DataLength
212 );
213
214 _IRQL_requires_max_(APC_LEVEL)
215 NTSTATUS
216 RequestHandleFakePartitionInfo(
217 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
218 _In_ WDFREQUEST Request,
219 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
220 _Out_ size_t * DataLength
221 );
222
223 _IRQL_requires_max_(PASSIVE_LEVEL)
224 NTSTATUS
225 RequestHandleEjectionControl(
226 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
227 _In_ WDFREQUEST Request,
228 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
229 _Out_ size_t * DataLength
230 );
231
232 _IRQL_requires_max_(PASSIVE_LEVEL)
233 NTSTATUS
234 RequestHandleLoadEjectMedia(
235 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
236 _In_ WDFREQUEST Request,
237 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
238 _Out_ size_t * DataLength
239 );
240
241 _IRQL_requires_max_(APC_LEVEL)
242 NTSTATUS
243 RequestHandleMcnControl(
244 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
245 _In_ WDFREQUEST Request,
246 _Out_ size_t * DataLength
247 );
248
249 _IRQL_requires_max_(PASSIVE_LEVEL)
250 NTSTATUS
251 RequestHandleReserveRelease(
252 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
253 _In_ WDFREQUEST Request,
254 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
255 _Out_ size_t * DataLength
256 );
257
258 _IRQL_requires_max_(PASSIVE_LEVEL)
259 NTSTATUS
260 RequestHandlePersistentReserve(
261 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
262 _In_ WDFREQUEST Request,
263 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
264 _Out_ size_t * DataLength
265 );
266
267 #if (NTDDI_VERSION >= NTDDI_WIN8)
268 _IRQL_requires_max_(APC_LEVEL)
269 NTSTATUS
270 RequestHandleAreVolumesReady(
271 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
272 _In_ WDFREQUEST Request,
273 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
274 _Out_ size_t * DataLength
275 );
276
277 _IRQL_requires_max_(APC_LEVEL)
278 NTSTATUS
279 RequestHandleVolumeOnline(
280 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
281 _In_ WDFREQUEST Request,
282 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
283 _Out_ size_t * DataLength
284 );
285 #endif
286
287 _IRQL_requires_max_(PASSIVE_LEVEL)
288 NTSTATUS
289 DeviceHandleRawRead(
290 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
291 _In_ WDFREQUEST Request,
292 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
293 _Out_ size_t * DataLength
294 );
295
296 _IRQL_requires_max_(APC_LEVEL)
297 NTSTATUS
298 DeviceHandlePlayAudioMsf(
299 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
300 _In_ WDFREQUEST Request,
301 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
302 _Out_ size_t * DataLength
303 );
304
305 _IRQL_requires_max_(APC_LEVEL)
306 NTSTATUS
307 DeviceHandleReadQChannel(
308 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
309 _In_ WDFREQUEST Request,
310 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
311 _Out_ size_t * DataLength
312 );
313
314 _IRQL_requires_max_(APC_LEVEL)
315 NTSTATUS
316 DeviceHandlePauseAudio(
317 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
318 _In_ WDFREQUEST Request,
319 _Out_ size_t * DataLength
320 );
321
322 _IRQL_requires_max_(APC_LEVEL)
323 NTSTATUS
324 DeviceHandleResumeAudio(
325 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
326 _In_ WDFREQUEST Request,
327 _Out_ size_t * DataLength
328 );
329
330 _IRQL_requires_max_(APC_LEVEL)
331 NTSTATUS
332 DeviceHandleSeekAudioMsf(
333 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
334 _In_ WDFREQUEST Request,
335 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
336 _Out_ size_t * DataLength
337 );
338
339 _IRQL_requires_max_(APC_LEVEL)
340 NTSTATUS
341 DeviceHandleStopAudio(
342 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
343 _In_ WDFREQUEST Request,
344 _Out_ size_t * DataLength
345 );
346
347 _IRQL_requires_max_(APC_LEVEL)
348 NTSTATUS
349 DeviceHandleGetSetVolume(
350 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
351 _In_ WDFREQUEST Request,
352 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
353 _Out_ size_t * DataLength
354 );
355
356 _IRQL_requires_max_(APC_LEVEL)
357 NTSTATUS
358 DeviceHandleReadDvdStructure(
359 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
360 _In_ WDFREQUEST Request,
361 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
362 _Out_ size_t * DataLength
363 );
364
365 _IRQL_requires_max_(APC_LEVEL)
366 NTSTATUS
367 DeviceHandleDvdEndSession(
368 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
369 _In_ WDFREQUEST Request,
370 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
371 _Out_ size_t * DataLength
372 );
373
374 _IRQL_requires_max_(APC_LEVEL)
375 NTSTATUS
376 DeviceHandleDvdStartSessionReadKey(
377 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
378 _In_ WDFREQUEST Request,
379 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
380 _Out_ size_t * DataLength
381 );
382
383 _IRQL_requires_max_(APC_LEVEL)
384 NTSTATUS
385 DeviceHandleDvdSendKey(
386 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
387 _In_ WDFREQUEST Request,
388 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
389 _Out_ size_t * DataLength
390 );
391
392 _IRQL_requires_max_(APC_LEVEL)
393 NTSTATUS
394 DeviceHandleSetReadAhead(
395 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
396 _In_ WDFREQUEST Request,
397 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
398 _Out_ size_t * DataLength
399 );
400
401 _IRQL_requires_max_(APC_LEVEL)
402 NTSTATUS
403 DeviceHandleSetSpeed(
404 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
405 _In_ WDFREQUEST Request,
406 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
407 _Out_ size_t * DataLength
408 );
409
410 _IRQL_requires_max_(APC_LEVEL)
411 NTSTATUS
412 DeviceHandleAacsReadMediaKeyBlock(
413 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
414 _In_ WDFREQUEST Request,
415 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
416 _Out_ size_t * DataLength
417 );
418
419 _IRQL_requires_max_(APC_LEVEL)
420 NTSTATUS
421 DeviceHandleAacsStartSession(
422 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
423 _In_ WDFREQUEST Request,
424 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
425 _Out_ size_t * DataLength
426 );
427
428 _IRQL_requires_max_(APC_LEVEL)
429 NTSTATUS
430 DeviceHandleAacsEndSession(
431 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
432 _In_ WDFREQUEST Request,
433 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
434 _Out_ size_t * DataLength
435 );
436
437 _IRQL_requires_max_(APC_LEVEL)
438 NTSTATUS
439 DeviceHandleAacsSendCertificate(
440 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
441 _In_ WDFREQUEST Request,
442 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
443 _Out_ size_t * DataLength
444 );
445
446 _IRQL_requires_max_(APC_LEVEL)
447 NTSTATUS
448 DeviceHandleAacsGetCertificate(
449 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
450 _In_ WDFREQUEST Request,
451 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
452 _Out_ size_t * DataLength
453 );
454
455 _IRQL_requires_max_(APC_LEVEL)
456 NTSTATUS
457 DeviceHandleAacsGetChallengeKey(
458 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
459 _In_ WDFREQUEST Request,
460 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
461 _Out_ size_t * DataLength
462 );
463
464 _IRQL_requires_max_(APC_LEVEL)
465 NTSTATUS
466 DeviceHandleSendChallengeKey(
467 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
468 _In_ WDFREQUEST Request,
469 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
470 _Out_ size_t * DataLength
471 );
472
473 _IRQL_requires_max_(APC_LEVEL)
474 NTSTATUS
475 DeviceHandleReadVolumeId(
476 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
477 _In_ WDFREQUEST Request,
478 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
479 _Out_ size_t * DataLength
480 );
481
482 _IRQL_requires_max_(APC_LEVEL)
483 NTSTATUS
484 DeviceHandleAacsReadSerialNumber(
485 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
486 _In_ WDFREQUEST Request,
487 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
488 _Out_ size_t * DataLength
489 );
490
491 _IRQL_requires_max_(APC_LEVEL)
492 NTSTATUS
493 DeviceHandleAacsReadMediaId(
494 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
495 _In_ WDFREQUEST Request,
496 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
497 _Out_ size_t * DataLength
498 );
499
500 _IRQL_requires_max_(APC_LEVEL)
501 NTSTATUS
502 DeviceHandleAacsReadBindingNonce(
503 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
504 _In_ WDFREQUEST Request,
505 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
506 _Out_ size_t * DataLength
507 );
508
509 _IRQL_requires_max_(APC_LEVEL)
510 NTSTATUS
511 DeviceHandleAacsGenerateBindingNonce(
512 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
513 _In_ WDFREQUEST Request,
514 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
515 _Out_ size_t * DataLength
516 );
517
518 _IRQL_requires_max_(APC_LEVEL)
519 NTSTATUS
520 RequestHandleEnableStreaming(
521 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
522 _In_ WDFREQUEST Request,
523 _Out_ size_t * DataLength
524 );
525
526 _IRQL_requires_max_(APC_LEVEL)
527 NTSTATUS
528 RequestHandleSendOpcInformation(
529 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
530 _In_ WDFREQUEST Request,
531 _Out_ size_t * DataLength
532 );
533
534 _IRQL_requires_max_(APC_LEVEL)
535 NTSTATUS
536 RequestHandleGetPerformance(
537 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
538 _In_ WDFREQUEST Request,
539 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
540 _Out_ size_t * DataLength
541 );
542
543 _IRQL_requires_max_(APC_LEVEL)
544 NTSTATUS
545 RequestHandleMcnSyncFakeIoctl(
546 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
547 _Out_ size_t * DataLength
548 );
549
550 // Handlers that will be called by Sync process.
551
552 // RequestHandleUnknownIoctl could be called at DISPATCH_LEVEL.
553 NTSTATUS
554 RequestHandleUnknownIoctl(
555 _In_ WDFDEVICE Device,
556 _In_ WDFREQUEST Request
557 );
558
559 _IRQL_requires_max_(APC_LEVEL)
560 NTSTATUS
561 RequestHandleExclusiveAccessQueryLockState(
562 _In_ WDFDEVICE Device,
563 _In_ WDFREQUEST Request
564 );
565
566 _IRQL_requires_max_(APC_LEVEL)
567 NTSTATUS
568 RequestHandleExclusiveAccessLockDevice(
569 _In_ WDFDEVICE Device,
570 _In_ WDFREQUEST Request
571 );
572
573 _IRQL_requires_max_(APC_LEVEL)
574 NTSTATUS
575 RequestHandleExclusiveAccessUnlockDevice(
576 _In_ WDFDEVICE Device,
577 _In_ WDFREQUEST Request
578 );
579
580 NTSTATUS
581 RequestHandleQueryPropertyDeviceUniqueId(
582 _In_ WDFDEVICE Device,
583 _In_ WDFREQUEST Request
584 );
585
586 NTSTATUS
587 RequestHandleQueryPropertyWriteCache(
588 _In_ WDFDEVICE Device,
589 _In_ WDFREQUEST Request
590 );
591
592 _IRQL_requires_max_(APC_LEVEL)
593 NTSTATUS
594 RequestHandleScsiPassThrough(
595 _In_ WDFDEVICE Device,
596 _In_ WDFREQUEST Request
597 );
598
599 // Read/write handler called possibly at DISPATCH_LEVEL.
600
601 NTSTATUS
602 RequestHandleReadWrite(
603 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
604 _In_ WDFREQUEST Request,
605 _In_ WDF_REQUEST_PARAMETERS RequestParameters
606 );
607
608 //
609 // I/O Request Validation helpers
610 //
611
612 NTSTATUS
613 RequestValidateRawRead(
614 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
615 _In_ WDFREQUEST Request,
616 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
617 _Out_ size_t * DataLength
618 );
619
620 NTSTATUS
621 RequestValidateReadTocEx(
622 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
623 _In_ WDFREQUEST Request,
624 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
625 _Out_ size_t * DataLength
626 );
627
628 NTSTATUS
629 RequestValidateReadToc(
630 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
631 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
632 _Out_ size_t * DataLength
633 );
634
635 NTSTATUS
636 RequestValidateGetLastSession(
637 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
638 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
639 _Out_ size_t * DataLength
640 );
641
642 NTSTATUS
643 RequestValidateReadQChannel(
644 _In_ WDFREQUEST Request,
645 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
646 _Out_ size_t * DataLength
647 );
648
649 NTSTATUS
650 RequestValidateDvdReadStructure(
651 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
652 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
653 _Out_ size_t * DataLength
654 );
655
656 NTSTATUS
657 RequestValidateDvdStartSession(
658 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
659 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
660 _Out_ size_t * DataLength
661 );
662
663 NTSTATUS
664 RequestValidateDvdSendKey(
665 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
666 _In_ WDFREQUEST Request,
667 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
668 _Out_ size_t * DataLength
669 );
670
671 NTSTATUS
672 RequestValidateDvdReadKey(
673 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
674 _In_ WDFREQUEST Request,
675 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
676 _Out_ size_t * DataLength
677 );
678
679 NTSTATUS
680 RequestValidateGetConfiguration(
681 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
682 _In_ WDFREQUEST Request,
683 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
684 _Out_ size_t * DataLength
685 );
686
687 NTSTATUS
688 RequestValidateSetSpeed(
689 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
690 _In_ WDFREQUEST Request,
691 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
692 _Out_ size_t * DataLength
693 );
694
695 NTSTATUS
696 RequestValidateAacsReadMediaKeyBlock(
697 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
698 _In_ WDFREQUEST Request,
699 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
700 _Out_ size_t * DataLength
701 );
702
703 NTSTATUS
704 RequestValidateAacsStartSession(
705 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
706 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
707 _Out_ size_t * DataLength
708 );
709
710 NTSTATUS
711 RequestValidateAacsSendCertificate(
712 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
713 _In_ WDFREQUEST Request,
714 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
715 _Out_ size_t * DataLength
716 );
717
718 NTSTATUS
719 RequestValidateAacsGetCertificate(
720 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
721 _In_ WDFREQUEST Request,
722 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
723 _Out_ size_t * DataLength
724 );
725
726 NTSTATUS
727 RequestValidateAacsGetChallengeKey(
728 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
729 _In_ WDFREQUEST Request,
730 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
731 _Out_ size_t * DataLength
732 );
733
734 NTSTATUS
735 RequestValidateAacsSendChallengeKey(
736 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
737 _In_ WDFREQUEST Request,
738 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
739 _Out_ size_t * DataLength
740 );
741
742 NTSTATUS
743 RequestValidateAacsReadVolumeId(
744 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
745 _In_ WDFREQUEST Request,
746 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
747 _Out_ size_t * DataLength
748 );
749
750 NTSTATUS
751 RequestValidateAacsReadSerialNumber(
752 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
753 _In_ WDFREQUEST Request,
754 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
755 _Out_ size_t * DataLength
756 );
757
758 NTSTATUS
759 RequestValidateAacsReadMediaId(
760 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
761 _In_ WDFREQUEST Request,
762 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
763 _Out_ size_t * DataLength
764 );
765
766 NTSTATUS
767 RequestValidateAacsBindingNonce(
768 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
769 _In_ WDFREQUEST Request,
770 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
771 _Out_ size_t * DataLength
772 );
773
774 NTSTATUS
775 RequestValidateExclusiveAccess(
776 _In_ WDFREQUEST Request,
777 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
778 _Out_ size_t * DataLength
779 );
780
781 NTSTATUS
782 RequestValidateEnableStreaming(
783 _In_ WDFREQUEST Request,
784 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
785 _Out_ size_t * DataLength
786 );
787
788 NTSTATUS
789 RequestValidateSendOpcInformation(
790 _In_ WDFREQUEST Request,
791 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
792 _Out_ size_t * DataLength
793 );
794
795 NTSTATUS
796 RequestValidateGetPerformance(
797 _In_ WDFREQUEST Request,
798 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
799 _Out_ size_t * DataLength
800 );
801
802 BOOLEAN
803 RequestIsRealtimeStreaming(
804 _In_ WDFREQUEST Request,
805 _In_ BOOLEAN IsReadRequest
806 );
807
808 NTSTATUS
809 RequestValidateReadWrite(
810 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
811 _In_ WDFREQUEST Request,
812 _In_ WDF_REQUEST_PARAMETERS RequestParameters
813 );
814
815 NTSTATUS
816 RequestValidatePersistentReserve(
817 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
818 _In_ WDFREQUEST Request,
819 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
820 _Out_ size_t * DataLength
821 );
822
823 NTSTATUS
824 RequestValidateDvdEndSession(
825 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
826 _In_ WDFREQUEST Request,
827 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
828 _Out_ size_t * DataLength
829 );
830
831 NTSTATUS
832 RequestValidateAacsEndSession(
833 _In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
834 _In_ WDFREQUEST Request,
835 _In_ WDF_REQUEST_PARAMETERS RequestParameters,
836 _Out_ size_t * DataLength
837 );
838
839
840 //
841 // completion routines
842 //
843
844
845
846
847 #endif // __IOCTL_H__