ReactOS  0.4.15-dev-2359-g0dedb9b
wdfdmatransaction.h
Go to the documentation of this file.
1 /*++
2 
3 Copyright (c) Microsoft Corporation. All rights reserved.
4 
5 _WdfVersionBuild_
6 
7 Module Name:
8 
9  WdfDmaTransaction.h
10 
11 Abstract:
12 
13  WDF DMA Transaction support
14 
15 Environment:
16 
17  Kernel mode only.
18 
19 Notes:
20 
21 Revision History:
22 
23 --*/
24 
25 //
26 // NOTE: This header is generated by stubwork. Please make any
27 // modifications to the corresponding template files
28 // (.x or .y) and use stubwork to regenerate the header
29 //
30 
31 #ifndef _WDFDMATRANSACTION_H_
32 #define _WDFDMATRANSACTION_H_
33 
34 #ifndef WDF_EXTERN_C
35  #ifdef __cplusplus
36  #define WDF_EXTERN_C extern "C"
37  #define WDF_EXTERN_C_START extern "C" {
38  #define WDF_EXTERN_C_END }
39  #else
40  #define WDF_EXTERN_C
41  #define WDF_EXTERN_C_START
42  #define WDF_EXTERN_C_END
43  #endif
44 #endif
45 
47 
48 
49 
50 #if (NTDDI_VERSION >= NTDDI_WIN2K)
51 
52 
53 
54 typedef
55 _Function_class_(EVT_WDF_PROGRAM_DMA)
58 BOOLEAN
59 STDCALL
60 EVT_WDF_PROGRAM_DMA(
61  _In_
62  WDFDMATRANSACTION Transaction,
63  _In_
64  WDFDEVICE Device,
65  _In_
67  _In_
69  _In_
71  );
72 
73 typedef EVT_WDF_PROGRAM_DMA *PFN_WDF_PROGRAM_DMA;
74 
75 typedef
76 _Function_class_(EVT_WDF_DMA_TRANSACTION_CONFIGURE_DMA_CHANNEL)
79 BOOLEAN
80 STDCALL
81 EVT_WDF_DMA_TRANSACTION_CONFIGURE_DMA_CHANNEL(
82  _In_
83  WDFDMATRANSACTION DmaTransaction,
84  _In_
85  WDFDEVICE Device,
86  _In_
87  PVOID Context,
88  _In_opt_
89  PMDL Mdl,
90  _In_
91  size_t Offset,
92  _In_
93  size_t Length
94  );
95 
96 typedef EVT_WDF_DMA_TRANSACTION_CONFIGURE_DMA_CHANNEL *PFN_WDF_DMA_TRANSACTION_CONFIGURE_DMA_CHANNEL;
97 
98 typedef
99 _Function_class_(EVT_WDF_DMA_TRANSACTION_DMA_TRANSFER_COMPLETE)
102 VOID
103 STDCALL
104 EVT_WDF_DMA_TRANSACTION_DMA_TRANSFER_COMPLETE(
105  _In_
106  WDFDMATRANSACTION Transaction,
107  _In_
108  WDFDEVICE Device,
109  _In_
111  _In_
113  _In_
115  );
116 
117 typedef EVT_WDF_DMA_TRANSACTION_DMA_TRANSFER_COMPLETE *PFN_WDF_DMA_TRANSACTION_DMA_TRANSFER_COMPLETE;
118 
119 typedef
120 _Function_class_(EVT_WDF_RESERVE_DMA)
123 VOID
124 STDCALL
125 EVT_WDF_RESERVE_DMA(
126  _In_
127  WDFDMATRANSACTION DmaTransaction,
128  _In_
129  PVOID Context
130  );
131 
132 typedef EVT_WDF_RESERVE_DMA *PFN_WDF_RESERVE_DMA;
133 
134 //
135 // WDF Function: WdfDmaTransactionCreate
136 //
137 typedef
140 WDFAPI
141 NTSTATUS
142 (STDCALL *PFN_WDFDMATRANSACTIONCREATE)(
143  _In_
145  _In_
146  WDFDMAENABLER DmaEnabler,
147  _In_opt_
149  _Out_
150  WDFDMATRANSACTION* DmaTransaction
151  );
152 
156 NTSTATUS
157 WdfDmaTransactionCreate(
158  _In_
159  WDFDMAENABLER DmaEnabler,
160  _In_opt_
162  _Out_
163  WDFDMATRANSACTION* DmaTransaction
164  )
165 {
167 }
168 
169 //
170 // WDF Function: WdfDmaTransactionInitialize
171 //
172 typedef
175 WDFAPI
176 NTSTATUS
177 (STDCALL *PFN_WDFDMATRANSACTIONINITIALIZE)(
178  _In_
180  _In_
181  WDFDMATRANSACTION DmaTransaction,
182  _In_
184  _In_
186  _In_
187  PMDL Mdl,
188  _In_
190  _In_
192  size_t Length
193  );
194 
198 NTSTATUS
199 WdfDmaTransactionInitialize(
200  _In_
201  WDFDMATRANSACTION DmaTransaction,
202  _In_
204  _In_
206  _In_
207  PMDL Mdl,
208  _In_
210  _In_
212  size_t Length
213  )
214 {
216 }
217 
218 //
219 // WDF Function: WdfDmaTransactionInitializeUsingOffset
220 //
221 typedef
224 WDFAPI
225 NTSTATUS
226 (STDCALL *PFN_WDFDMATRANSACTIONINITIALIZEUSINGOFFSET)(
227  _In_
229  _In_
230  WDFDMATRANSACTION DmaTransaction,
231  _In_
233  _In_
235  _In_
236  PMDL Mdl,
237  _In_
238  size_t Offset,
239  _In_
240  _When_(Length == 0, __drv_reportError(Length cannot be zero))
241  size_t Length
242  );
243 
247 NTSTATUS
248 WdfDmaTransactionInitializeUsingOffset(
249  _In_
250  WDFDMATRANSACTION DmaTransaction,
251  _In_
253  _In_
255  _In_
256  PMDL Mdl,
257  _In_
258  size_t Offset,
259  _In_
260  _When_(Length == 0, __drv_reportError(Length cannot be zero))
261  size_t Length
262  )
263 {
265 }
266 
267 //
268 // WDF Function: WdfDmaTransactionInitializeUsingRequest
269 //
270 typedef
273 WDFAPI
274 NTSTATUS
275 (STDCALL *PFN_WDFDMATRANSACTIONINITIALIZEUSINGREQUEST)(
276  _In_
278  _In_
279  WDFDMATRANSACTION DmaTransaction,
280  _In_
281  WDFREQUEST Request,
282  _In_
284  _In_
286  );
287 
291 NTSTATUS
292 WdfDmaTransactionInitializeUsingRequest(
293  _In_
294  WDFDMATRANSACTION DmaTransaction,
295  _In_
296  WDFREQUEST Request,
297  _In_
299  _In_
301  )
302 {
304 }
305 
306 //
307 // WDF Function: WdfDmaTransactionExecute
308 //
309 typedef
312 WDFAPI
313 NTSTATUS
314 (STDCALL *PFN_WDFDMATRANSACTIONEXECUTE)(
315  _In_
317  _In_
318  WDFDMATRANSACTION DmaTransaction,
319  _In_opt_
321  );
322 
326 NTSTATUS
327 WdfDmaTransactionExecute(
328  _In_
329  WDFDMATRANSACTION DmaTransaction,
330  _In_opt_
332  )
333 {
334  return ((PFN_WDFDMATRANSACTIONEXECUTE) WdfFunctions[WdfDmaTransactionExecuteTableIndex])(WdfDriverGlobals, DmaTransaction, Context);
335 }
336 
337 //
338 // WDF Function: WdfDmaTransactionRelease
339 //
340 typedef
343 WDFAPI
344 NTSTATUS
345 (STDCALL *PFN_WDFDMATRANSACTIONRELEASE)(
346  _In_
348  _In_
349  WDFDMATRANSACTION DmaTransaction
350  );
351 
355 NTSTATUS
356 WdfDmaTransactionRelease(
357  _In_
358  WDFDMATRANSACTION DmaTransaction
359  )
360 {
361  return ((PFN_WDFDMATRANSACTIONRELEASE) WdfFunctions[WdfDmaTransactionReleaseTableIndex])(WdfDriverGlobals, DmaTransaction);
362 }
363 
364 //
365 // WDF Function: WdfDmaTransactionDmaCompleted
366 //
367 typedef
369 WDFAPI
370 BOOLEAN
371 (STDCALL *PFN_WDFDMATRANSACTIONDMACOMPLETED)(
372  _In_
374  _In_
375  WDFDMATRANSACTION DmaTransaction,
376  _Out_
378  );
379 
382 BOOLEAN
383 WdfDmaTransactionDmaCompleted(
384  _In_
385  WDFDMATRANSACTION DmaTransaction,
386  _Out_
388  )
389 {
390  return ((PFN_WDFDMATRANSACTIONDMACOMPLETED) WdfFunctions[WdfDmaTransactionDmaCompletedTableIndex])(WdfDriverGlobals, DmaTransaction, Status);
391 }
392 
393 //
394 // WDF Function: WdfDmaTransactionDmaCompletedWithLength
395 //
396 typedef
398 WDFAPI
399 BOOLEAN
400 (STDCALL *PFN_WDFDMATRANSACTIONDMACOMPLETEDWITHLENGTH)(
401  _In_
403  _In_
404  WDFDMATRANSACTION DmaTransaction,
405  _In_
406  size_t TransferredLength,
407  _Out_
409  );
410 
413 BOOLEAN
414 WdfDmaTransactionDmaCompletedWithLength(
415  _In_
416  WDFDMATRANSACTION DmaTransaction,
417  _In_
418  size_t TransferredLength,
419  _Out_
421  )
422 {
424 }
425 
426 //
427 // WDF Function: WdfDmaTransactionDmaCompletedFinal
428 //
429 typedef
431 WDFAPI
432 BOOLEAN
433 (STDCALL *PFN_WDFDMATRANSACTIONDMACOMPLETEDFINAL)(
434  _In_
436  _In_
437  WDFDMATRANSACTION DmaTransaction,
438  _In_
439  size_t FinalTransferredLength,
440  _Out_
442  );
443 
446 BOOLEAN
447 WdfDmaTransactionDmaCompletedFinal(
448  _In_
449  WDFDMATRANSACTION DmaTransaction,
450  _In_
451  size_t FinalTransferredLength,
452  _Out_
454  )
455 {
457 }
458 
459 //
460 // WDF Function: WdfDmaTransactionGetBytesTransferred
461 //
462 typedef
464 WDFAPI
465 size_t
466 (STDCALL *PFN_WDFDMATRANSACTIONGETBYTESTRANSFERRED)(
467  _In_
469  _In_
470  WDFDMATRANSACTION DmaTransaction
471  );
472 
475 size_t
476 WdfDmaTransactionGetBytesTransferred(
477  _In_
478  WDFDMATRANSACTION DmaTransaction
479  )
480 {
481  return ((PFN_WDFDMATRANSACTIONGETBYTESTRANSFERRED) WdfFunctions[WdfDmaTransactionGetBytesTransferredTableIndex])(WdfDriverGlobals, DmaTransaction);
482 }
483 
484 //
485 // WDF Function: WdfDmaTransactionSetMaximumLength
486 //
487 typedef
489 WDFAPI
490 VOID
491 (STDCALL *PFN_WDFDMATRANSACTIONSETMAXIMUMLENGTH)(
492  _In_
494  _In_
495  WDFDMATRANSACTION DmaTransaction,
496  _In_
497  size_t MaximumLength
498  );
499 
502 VOID
503 WdfDmaTransactionSetMaximumLength(
504  _In_
505  WDFDMATRANSACTION DmaTransaction,
506  _In_
507  size_t MaximumLength
508  )
509 {
511 }
512 
513 //
514 // WDF Function: WdfDmaTransactionGetRequest
515 //
516 typedef
518 WDFAPI
519 WDFREQUEST
520 (STDCALL *PFN_WDFDMATRANSACTIONGETREQUEST)(
521  _In_
523  _In_
524  WDFDMATRANSACTION DmaTransaction
525  );
526 
529 WDFREQUEST
530 WdfDmaTransactionGetRequest(
531  _In_
532  WDFDMATRANSACTION DmaTransaction
533  )
534 {
535  return ((PFN_WDFDMATRANSACTIONGETREQUEST) WdfFunctions[WdfDmaTransactionGetRequestTableIndex])(WdfDriverGlobals, DmaTransaction);
536 }
537 
538 //
539 // WDF Function: WdfDmaTransactionGetCurrentDmaTransferLength
540 //
541 typedef
543 WDFAPI
544 size_t
545 (STDCALL *PFN_WDFDMATRANSACTIONGETCURRENTDMATRANSFERLENGTH)(
546  _In_
548  _In_
549  WDFDMATRANSACTION DmaTransaction
550  );
551 
554 size_t
555 WdfDmaTransactionGetCurrentDmaTransferLength(
556  _In_
557  WDFDMATRANSACTION DmaTransaction
558  )
559 {
560  return ((PFN_WDFDMATRANSACTIONGETCURRENTDMATRANSFERLENGTH) WdfFunctions[WdfDmaTransactionGetCurrentDmaTransferLengthTableIndex])(WdfDriverGlobals, DmaTransaction);
561 }
562 
563 //
564 // WDF Function: WdfDmaTransactionGetDevice
565 //
566 typedef
568 WDFAPI
569 WDFDEVICE
570 (STDCALL *PFN_WDFDMATRANSACTIONGETDEVICE)(
571  _In_
573  _In_
574  WDFDMATRANSACTION DmaTransaction
575  );
576 
579 WDFDEVICE
580 WdfDmaTransactionGetDevice(
581  _In_
582  WDFDMATRANSACTION DmaTransaction
583  )
584 {
585  return ((PFN_WDFDMATRANSACTIONGETDEVICE) WdfFunctions[WdfDmaTransactionGetDeviceTableIndex])(WdfDriverGlobals, DmaTransaction);
586 }
587 
588 //
589 // WDF Function: WdfDmaTransactionGetTransferInfo
590 //
591 typedef
593 WDFAPI
594 VOID
595 (STDCALL *PFN_WDFDMATRANSACTIONGETTRANSFERINFO)(
596  _In_
598  _In_
599  WDFDMATRANSACTION DmaTransaction,
600  _Out_opt_
602  _Out_opt_
604  );
605 
608 VOID
609 WdfDmaTransactionGetTransferInfo(
610  _In_
611  WDFDMATRANSACTION DmaTransaction,
612  _Out_opt_
614  _Out_opt_
616  )
617 {
619 }
620 
621 //
622 // WDF Function: WdfDmaTransactionSetChannelConfigurationCallback
623 //
624 typedef
626 WDFAPI
627 VOID
628 (STDCALL *PFN_WDFDMATRANSACTIONSETCHANNELCONFIGURATIONCALLBACK)(
629  _In_
631  _In_
632  WDFDMATRANSACTION DmaTransaction,
633  _In_opt_
635  _In_opt_
637  );
638 
641 VOID
642 WdfDmaTransactionSetChannelConfigurationCallback(
643  _In_
644  WDFDMATRANSACTION DmaTransaction,
645  _In_opt_
647  _In_opt_
649  )
650 {
652 }
653 
654 //
655 // WDF Function: WdfDmaTransactionSetTransferCompleteCallback
656 //
657 typedef
659 WDFAPI
660 VOID
661 (STDCALL *PFN_WDFDMATRANSACTIONSETTRANSFERCOMPLETECALLBACK)(
662  _In_
664  _In_
665  WDFDMATRANSACTION DmaTransaction,
666  _In_opt_
668  _In_opt_
670  );
671 
674 VOID
675 WdfDmaTransactionSetTransferCompleteCallback(
676  _In_
677  WDFDMATRANSACTION DmaTransaction,
678  _In_opt_
680  _In_opt_
682  )
683 {
685 }
686 
687 //
688 // WDF Function: WdfDmaTransactionSetImmediateExecution
689 //
690 typedef
692 WDFAPI
693 VOID
694 (STDCALL *PFN_WDFDMATRANSACTIONSETIMMEDIATEEXECUTION)(
695  _In_
697  _In_
698  WDFDMATRANSACTION DmaTransaction,
699  _In_
701  );
702 
705 VOID
706 WdfDmaTransactionSetImmediateExecution(
707  _In_
708  WDFDMATRANSACTION DmaTransaction,
709  _In_
711  )
712 {
714 }
715 
716 //
717 // WDF Function: WdfDmaTransactionAllocateResources
718 //
719 typedef
721 WDFAPI
722 NTSTATUS
723 (STDCALL *PFN_WDFDMATRANSACTIONALLOCATERESOURCES)(
724  _In_
726  _In_
727  WDFDMATRANSACTION DmaTransaction,
728  _In_
730  _In_
732  _In_
734  _In_
736  );
737 
740 NTSTATUS
741 WdfDmaTransactionAllocateResources(
742  _In_
743  WDFDMATRANSACTION DmaTransaction,
744  _In_
746  _In_
748  _In_
750  _In_
752  )
753 {
755 }
756 
757 //
758 // WDF Function: WdfDmaTransactionSetDeviceAddressOffset
759 //
760 typedef
762 WDFAPI
763 VOID
764 (STDCALL *PFN_WDFDMATRANSACTIONSETDEVICEADDRESSOFFSET)(
765  _In_
767  _In_
768  WDFDMATRANSACTION DmaTransaction,
769  _In_
770  ULONG Offset
771  );
772 
775 VOID
776 WdfDmaTransactionSetDeviceAddressOffset(
777  _In_
778  WDFDMATRANSACTION DmaTransaction,
779  _In_
780  ULONG Offset
781  )
782 {
784 }
785 
786 //
787 // WDF Function: WdfDmaTransactionFreeResources
788 //
789 typedef
791 WDFAPI
792 VOID
793 (STDCALL *PFN_WDFDMATRANSACTIONFREERESOURCES)(
794  _In_
796  _In_
797  WDFDMATRANSACTION DmaTransaction
798  );
799 
802 VOID
803 WdfDmaTransactionFreeResources(
804  _In_
805  WDFDMATRANSACTION DmaTransaction
806  )
807 {
809 }
810 
811 //
812 // WDF Function: WdfDmaTransactionCancel
813 //
814 typedef
816 WDFAPI
817 BOOLEAN
818 (STDCALL *PFN_WDFDMATRANSACTIONCANCEL)(
819  _In_
821  _In_
822  WDFDMATRANSACTION DmaTransaction
823  );
824 
827 BOOLEAN
828 WdfDmaTransactionCancel(
829  _In_
830  WDFDMATRANSACTION DmaTransaction
831  )
832 {
833  return ((PFN_WDFDMATRANSACTIONCANCEL) WdfFunctions[WdfDmaTransactionCancelTableIndex])(WdfDriverGlobals, DmaTransaction);
834 }
835 
836 //
837 // WDF Function: WdfDmaTransactionWdmGetTransferContext
838 //
839 typedef
841 WDFAPI
842 PVOID
843 (STDCALL *PFN_WDFDMATRANSACTIONWDMGETTRANSFERCONTEXT)(
844  _In_
846  _In_
847  WDFDMATRANSACTION DmaTransaction
848  );
849 
852 PVOID
853 WdfDmaTransactionWdmGetTransferContext(
854  _In_
855  WDFDMATRANSACTION DmaTransaction
856  )
857 {
858  return ((PFN_WDFDMATRANSACTIONWDMGETTRANSFERCONTEXT) WdfFunctions[WdfDmaTransactionWdmGetTransferContextTableIndex])(WdfDriverGlobals, DmaTransaction);
859 }
860 
861 //
862 // WDF Function: WdfDmaTransactionStopSystemTransfer
863 //
864 typedef
866 WDFAPI
867 VOID
868 (STDCALL *PFN_WDFDMATRANSACTIONSTOPSYSTEMTRANSFER)(
869  _In_
871  _In_
872  WDFDMATRANSACTION DmaTransaction
873  );
874 
877 VOID
878 WdfDmaTransactionStopSystemTransfer(
879  _In_
880  WDFDMATRANSACTION DmaTransaction
881  )
882 {
883  ((PFN_WDFDMATRANSACTIONSTOPSYSTEMTRANSFER) WdfFunctions[WdfDmaTransactionStopSystemTransferTableIndex])(WdfDriverGlobals, DmaTransaction);
884 }
885 
886 
887 
888 #endif // (NTDDI_VERSION >= NTDDI_WIN2K)
889 
890 
892 
893 #endif // _WDFDMATRANSACTION_H_
894 
WDF_EXTERN_C_START typedef _In_ WDFDEVICE _In_ WDFCONTEXT Context
_In_ WDFDMATRANSACTION _In_ size_t FinalTransferredLength
#define _Must_inspect_result_
Definition: no_sal2.h:62
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:101
#define __drv_reportError(why)
Definition: driverspecs.h:302
EVT_WDF_DMA_TRANSACTION_DMA_TRANSFER_COMPLETE * PFN_WDF_DMA_TRANSACTION_DMA_TRANSFER_COMPLETE
_In_ WDFDMATRANSACTION _In_opt_ PFN_WDF_DMA_TRANSACTION_DMA_TRANSFER_COMPLETE _In_opt_ PVOID DmaCompletionContext
WDF_EXTERN_C_START typedef _In_ WDFDEVICE _In_ WDFCONTEXT _In_ WDF_DMA_DIRECTION Direction
_In_ WDFDMATRANSACTION _In_opt_ PFN_WDF_DMA_TRANSACTION_CONFIGURE_DMA_CHANNEL ConfigureRoutine
#define TRUE
Definition: types.h:120
_Must_inspect_result_ _In_ WDFDMATRANSACTION _In_ WDFREQUEST Request
LONG NTSTATUS
Definition: precomp.h:26
_In_ WDFREQUEST Request
Definition: wdfdevice.h:547
DriverGlobals
_In_ WDFDMATRANSACTION _Out_opt_ ULONG * MapRegisterCount
#define _In_opt_
Definition: no_sal2.h:212
#define WdfFunctions
Definition: wdf.h:66
#define WDF_EXTERN_C_END
_Must_inspect_result_ _In_ WDFDMAENABLER _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes
_In_ WDFDMATRANSACTION _In_ WDF_DMA_DIRECTION _In_ ULONG _In_ PFN_WDF_RESERVE_DMA _In_ PVOID EvtReserveDmaContext
_Must_inspect_result_ _In_ WDFDMATRANSACTION _In_ PFN_WDF_PROGRAM_DMA _In_ WDF_DMA_DIRECTION _In_ PMDL _In_ PVOID _In_ _When_(Length==0, __drv_reportError(Length cannot be zero)) size_t Length)
#define WDFAPI
Definition: wdftypes.h:53
_Must_inspect_result_ _In_ WDFDMATRANSACTION _In_ PFN_WDF_PROGRAM_DMA EvtProgramDmaFunction
_Must_inspect_result_ _In_ WDFDMAENABLER DmaEnabler
unsigned char BOOLEAN
_Must_inspect_result_ _In_ WDFDMATRANSACTION _In_ PFN_WDF_PROGRAM_DMA _In_ WDF_DMA_DIRECTION DmaDirection
int zero
Definition: sehframes.cpp:29
EVT_WDF_RESERVE_DMA * PFN_WDF_RESERVE_DMA
#define _Out_
Definition: no_sal2.h:160
EVT_WDF_DMA_TRANSACTION_CONFIGURE_DMA_CHANNEL * PFN_WDF_DMA_TRANSACTION_CONFIGURE_DMA_CHANNEL
#define _IRQL_requires_same_
Definition: driverspecs.h:215
_In_ WDFDEVICE _In_ PVOID _In_opt_ PMDL _In_ size_t Offset
_Must_inspect_result_ _In_ WDFDMATRANSACTION _In_ PFN_WDF_PROGRAM_DMA _In_ WDF_DMA_DIRECTION _In_ PMDL _In_ PVOID VirtualAddress
void * PVOID
Definition: retypes.h:9
_In_ WDFDMAENABLER _In_ WDF_DMA_DIRECTION DmaDirection
#define _IRQL_requires_(irql)
Definition: driverspecs.h:212
Status
Definition: gdiplustypes.h:24
__kernel_size_t size_t
Definition: linux.h:237
#define _Out_opt_
Definition: no_sal2.h:214
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_In_ WDFDMATRANSACTION _In_opt_ PFN_WDF_DMA_TRANSACTION_DMA_TRANSFER_COMPLETE DmaCompletionRoutine
_In_ WDFDMATRANSACTION _In_ size_t MaximumLength
#define STDCALL
Definition: wdf.h:45
DMA_COMPLETION_STATUS
Definition: iotypes.h:2298
_In_ WDFDMATRANSACTION _In_ size_t TransferredLength
_In_ WDFDMATRANSACTION _In_ WDF_DMA_DIRECTION _In_ ULONG RequiredMapRegisters
_In_ WDFDEVICE _In_ WDFCONTEXT _In_ WDF_DMA_DIRECTION _In_ DMA_COMPLETION_STATUS Status
WDF_EXTERN_C_START typedef _In_ WDFDEVICE _In_ WDFCONTEXT _In_ WDF_DMA_DIRECTION _In_ PSCATTER_GATHER_LIST SgList
#define NTSTATUS
Definition: precomp.h:20
#define VOID
Definition: acefi.h:82
_Must_inspect_result_ _In_ WDFDEVICE Device
Definition: wdfchildlist.h:474
#define DISPATCH_LEVEL
Definition: env_spec_w32.h:696
_In_ ULONG _In_ ULONG Offset
Definition: ntddpcm.h:101
#define _In_
Definition: no_sal2.h:158
#define WDF_EXTERN_C_START
EVT_WDF_PROGRAM_DMA * PFN_WDF_PROGRAM_DMA
_In_ WDFDMATRANSACTION _In_opt_ PFN_WDF_DMA_TRANSACTION_CONFIGURE_DMA_CHANNEL _In_opt_ PVOID ConfigureContext
#define FORCEINLINE
Definition: wdftypes.h:67
_In_ WDFDEVICE _In_ PVOID _In_opt_ PMDL _In_ size_t _In_ size_t Length
_In_ WDFDEVICE _In_ PVOID _In_opt_ PMDL Mdl
_Must_inspect_result_ _In_ WDFDMAENABLER DmaEnabler
#define BOOLEAN
Definition: pedump.c:73
struct _SCATTER_GATHER_LIST * PSCATTER_GATHER_LIST
Definition: iotypes.h:2204
enum _WDF_DMA_DIRECTION WDF_DMA_DIRECTION
unsigned int ULONG
Definition: retypes.h:1
WDF_EXTERN_C_START typedef _Function_class_(EVT_WDF_PROGRAM_DMA) _IRQL_requires_same_ _IRQL_requires_(DISPATCH_LEVEL) BOOLEAN STDCALL EVT_WDF_PROGRAM_DMA(_In_ WDFDMATRANSACTION Transaction
_Must_inspect_result_ _IRQL_requires_max_(DISPATCH_LEVEL) WDFAPI NTSTATUS(STDCALL *PFN_WDFDMATRANSACTIONCREATE)(_In_ PWDF_DRIVER_GLOBALS DriverGlobals
_In_ WDFDMATRANSACTION _In_ WDF_DMA_DIRECTION _In_ ULONG _In_ PFN_WDF_RESERVE_DMA EvtReserveDmaFunction
typedef _Success_(TRUE) _IRQL_requires_max_(DISPATCH_LEVEL) WDFAPI NTSTATUS(STDCALL *PFN_WDFDMATRANSACTIONRELEASE)(_In_ PWDF_DRIVER_GLOBALS DriverGlobals
_In_ WDFDMATRANSACTION _In_ BOOLEAN UseImmediateExecution
_Must_inspect_result_ _In_ WDFDMAENABLER _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFDMATRANSACTION * DmaTransaction
_Must_inspect_result_ _In_ WDFDMAENABLER _In_ _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes
_In_ WDFDMATRANSACTION _Out_opt_ ULONG _Out_opt_ ULONG * ScatterGatherElementCount