7 #define STREAMDEBUG_LEVEL DebugLevelMaximum
9 typedef BOOLEAN (NTAPI
*SYNCHRONIZE_FUNC
) (IN PKINTERRUPT Interrupt
, IN PKSYNCHRONIZE_ROUTINE SynchronizeRoutine
, IN PVOID SynchronizeContext
);
13 HW_INITIALIZATION_DATA Data
;
15 }STREAM_CLASS_DRIVER_EXTENSION
, *PSTREAM_CLASS_DRIVER_EXTENSION
;
22 }MEMORY_RESOURCE_LIST
, *PMEMORY_RESOURCE_LIST
;
26 KSDEVICE_HEADER Header
;
27 PDEVICE_OBJECT LowerDeviceObject
;
28 PDEVICE_OBJECT PhysicalDeviceObject
;
30 SYNCHRONIZE_FUNC SynchronizeFunction
;
33 PDMA_ADAPTER DmaAdapter
;
34 PVOID DmaCommonBuffer
;
35 PHYSICAL_ADDRESS DmaPhysicalAddress
;
37 PKINTERRUPT Interrupt
;
40 LIST_ENTRY MemoryResourceList
;
42 ULONG StreamDescriptorSize
;
43 PHW_STREAM_DESCRIPTOR StreamDescriptor
;
44 PSTREAM_CLASS_DRIVER_EXTENSION DriverExtension
;
46 PVOID DeviceExtension
;
49 }STREAM_DEVICE_EXTENSION
, *PSTREAM_DEVICE_EXTENSION
;
53 HW_STREAM_REQUEST_BLOCK Block
;
55 }HW_STREAM_REQUEST_BLOCK_EXT
, *PHW_STREAM_REQUEST_BLOCK_EXT
;
59 StreamClassCreateFilter(
60 IN PDEVICE_OBJECT DeviceObject
,
66 IN PDEVICE_OBJECT DeviceObject
,
72 IN PDEVICE_OBJECT DeviceObject
,
77 StreamClassSystemControl(
78 IN PDEVICE_OBJECT DeviceObject
,
84 IN PDEVICE_OBJECT DeviceObject
,
89 StreamClassFlushBuffers(
90 IN PDEVICE_OBJECT DeviceObject
,
95 StreamClassDeviceControl(
96 IN PDEVICE_OBJECT DeviceObject
,
101 StreamClassAddDevice(
102 IN PDRIVER_OBJECT DriverObject
,
103 IN PDEVICE_OBJECT PhysicalDeviceObject
);
108 ForwardIrpSynchronous(
109 IN PDEVICE_OBJECT DeviceObject
,
114 StreamClassSynchronize(
115 IN PKINTERRUPT Interrupt
,
116 IN PKSYNCHRONIZE_ROUTINE SynchronizeRoutine
,
117 IN PVOID SynchronizeContext
);
121 StreamClassInterruptRoutine(
122 IN PKINTERRUPT Interrupt
,
123 IN PVOID ServiceContext
);
127 StreamClassInterruptDpc(
129 IN PVOID DeferredContext
,
130 IN PVOID SystemArgument1
,
131 IN PVOID SystemArgument2
);
137 IN ULONG_PTR Information
);