ReactOS 0.4.15-dev-7788-g1ad9096
strmini.h
Go to the documentation of this file.
1#ifndef _STREAM_H
2#define _STREAM_H
3
4#include <ntddk.h>
5#include <windef.h>
6#include <ks.h>
7
8#define STREAMAPI __stdcall
9#define STREAM_SYSTEM_TIME_MASK ((STREAM_SYSTEM_TIME)0x00000001FFFFFFFF)
10
11typedef enum {
20
21#if DBG
22
23#define DebugPrint(x) StreamClassDebugPrint x
24#define DEBUG_BREAKPOINT() DbgBreakPoint()
25#define DEBUG_ASSERT(exp) \
26 if ( !(exp) ) { \
27 StreamClassDebugAssert( __FILE__, __LINE__, #exp, exp); \
28 }
29#else
30
31#define DebugPrint(x)
32#define DEBUG_BREAKPOINT()
33#define DEBUG_ASSERT(exp)
34
35#endif
36
40
41typedef enum {
46
47typedef struct _HW_TIME_CONTEXT {
54
55typedef struct _HW_EVENT_DESCRIPTOR {
59 __GNU_EXTENSION union {
62 };
67
69
74
75typedef struct _HW_CLOCK_OBJECT {
80
81#define CLOCK_SUPPORT_CAN_SET_ONBOARD_CLOCK 0x1
82#define CLOCK_SUPPORT_CAN_READ_ONBOARD_CLOCK 0x2
83#define CLOCK_SUPPORT_CAN_RETURN_STREAM_TIME 0x4
84
85typedef struct _HW_STREAM_OBJECT {
101
102typedef struct _HW_STREAM_HEADER {
106 PKSPROPERTY_SET DevicePropertiesArray;
108 PKSEVENT_SET DeviceEventsArray;
112 PKSMETHOD_SET DeviceMethodsArray;
114
123 _Field_size_(NumStreamPropArrayEntries) PKSPROPERTY_SET StreamPropertiesArray;
125 _Field_size_(NumStreamEventArrayEntries) PKSEVENT_SET StreamEventsArray;
133
134typedef struct _HW_STREAM_DESCRIPTOR {
138
145
152
160
168
169#define STREAM_REQUEST_BLOCK_SIZE sizeof(STREAM_REQUEST_BLOCK)
170
171typedef enum _SRB_COMMAND {
179
190
206
207#if (NTDDI_VERSION >= NTDDI_WINXP)
210#if ( (NTDDI_VERSION >= NTDDI_WINXPSP2) && (NTDDI_VERSION < NTDDI_WS03) ) || (NTDDI_VERSION >= NTDDI_WS03SP1)
212#endif
213#endif
215
216typedef struct {
220
221
229
231 _Field_size_(_Inexpressible_(NumberOfBuffers)) PKSSTREAM_HEADER DataBufferArray;
241
242#if (NTDDI_VERSION >= NTDDI_WINXP)
245#if ( (NTDDI_VERSION >= NTDDI_WINXPSP2) && (NTDDI_VERSION < NTDDI_WS03) ) || (NTDDI_VERSION >= NTDDI_WS03SP1)
247#endif
248#endif
250
255
259
260 __GNU_EXTENSION union {
263 };
264
270
271#define SRB_HW_FLAGS_DATA_TRANSFER 0x01
272#define SRB_HW_FLAGS_STREAM_REQUEST 0x2
273
274typedef enum {
279
280typedef struct _ACCESS_RANGE {
286
287typedef struct _PORT_CONFIGURATION_INFORMATION {
307
311typedef BOOLEAN (STREAMAPI *PHW_INTERRUPT) (IN PVOID DeviceExtension);
315typedef BOOLEAN (STREAMAPI *PHW_RESET_ADAPTER) (IN PVOID DeviceExtension);
316
327
334#if (NTDDI_VERSION >= NTDDI_WINXP)
336#endif
339
340#define STREAM_CLASS_VERSION_20 0x0200
341
342typedef struct _HW_INITIALIZATION_DATA {
343#if (NTDDI_VERSION >= NTDDI_WINXP)
344 __GNU_EXTENSION union {
346 __GNU_EXTENSION struct {
349 };
350 };
351#else
353#endif /* NTDDI_VERSION >= NTDDI_WINXP */
354
368
369#if (NTDDI_VERSION >= NTDDI_WINXP)
372#else
373 ULONG Reserved[2];
374#endif
376
377typedef enum _STREAM_PRIORITY {
383
384
385VOID
387 _In_ PVOID HwDeviceExtension,
388 _In_opt_ PHW_STREAM_OBJECT HwStreamObject,
390
391VOID
394 _In_opt_ PHW_STREAM_OBJECT StreamObject,
395 _In_ PVOID HwDeviceExtension,
397 _In_ PHW_PRIORITY_ROUTINE PriorityRoutine,
399
400VOID
404
406VOID
411 _In_ PCHAR AssertText,
412 _In_ ULONG AssertValue);
413
414VOID
417 _In_ STREAM_DEBUG_LEVEL DebugPrintLevel,
418 _In_ PCCHAR DebugMessage,
419 ...);
420
421VOID
425 IN PVOID HwDeviceExtension,
427 IN PKSEVENT_ENTRY EventEntry,
428 IN GUID *EventSet,
429 IN ULONG EventId);
430
431VOID
434 _In_ PVOID HwInstanceExtension,
435 _In_ ULONG StreamDescriptorSize);
436
437PVOID
440 _In_ PVOID HwDeviceExtension);
441
442
445 _In_opt_ PVOID HwInstanceExtension_OR_HwDeviceExtension,
446 _In_opt_ PHW_STREAM_OBJECT HwStreamObject,
448 _In_ ULONG EventItem,
449 _In_opt_ PKSEVENT_ENTRY CurrentEvent);
450
454 _In_ PVOID HwDeviceExtension,
459
460VOID
462 _In_ PHW_STREAM_OBJECT HwStreamObject,
463 _In_ HANDLE MasterClockHandle,
464 _In_ TIME_FUNCTION TimeFunction,
465 _In_ PHW_QUERY_CLOCK_ROUTINE ClockCallbackRoutine);
466
468VOID
470StreamClassQueryMasterClockSync(
471 _In_ HANDLE MasterClockHandle,
473
478 _In_ PVOID HwDeviceExtension,
483
484VOID
487 _In_ PVOID HwDeviceExtension,
488 _In_ ULONG StreamDescriptorSize);
489
497
498#define StreamClassRegisterMinidriver StreamClassRegisterAdapter
499
502StreamClassRegisterFilterWithNoKSPins(
506 _In_reads_(PinCount) BOOL *PinDirection,
507 _In_reads_(PinCount) KSPIN_MEDIUM *MediumList,
508 _In_reads_opt_(PinCount) GUID *CategoryList);
509
510VOID
513 _In_opt_ PHW_STREAM_OBJECT StreamObject,
514 _In_ PVOID HwDeviceExtension,
515 _In_ ULONG NumberOfMicroseconds,
518
519VOID
523 _In_ PHW_STREAM_OBJECT StreamObject,
524 ...);
525
526#endif /* _STREAM_H */
unsigned char BOOLEAN
Type
Definition: Type.h:7
#define __GNU_EXTENSION
Definition: _mingw_mac.h:135
#define __cdecl
Definition: accygwin.h:79
#define VOID
Definition: acefi.h:82
LONG NTSTATUS
Definition: precomp.h:26
#define __int64
Definition: basetyps.h:16
_In_ PSCSI_REQUEST_BLOCK Srb
Definition: cdrom.h:989
Definition: bufpool.h:45
Definition: File.h:16
#define NTSTATUS
Definition: precomp.h:21
NTSTATUS STREAMAPI StreamClassRegisterAdapter(IN PVOID Argument1, IN PVOID Argument2, IN PHW_INITIALIZATION_DATA HwInitializationData)
Definition: driver.c:106
BOOLEAN STREAMAPI StreamClassReadWriteConfig(IN PVOID HwDeviceExtension, IN BOOLEAN Read, IN PVOID Buffer, IN ULONG OffSet, IN ULONG Length)
Definition: driver.c:322
#define _IRQL_requires_max_(irql)
Definition: driverspecs.h:230
#define PASSIVE_LEVEL
Definition: env_spec_w32.h:693
#define APC_LEVEL
Definition: env_spec_w32.h:695
#define DISPATCH_LEVEL
Definition: env_spec_w32.h:696
unsigned int BOOL
Definition: ntddk_ex.h:94
_Must_inspect_result_ _In_ WDFDEVICE _In_ REFGUID EventGuid
Status
Definition: gdiplustypes.h:25
enum _INTERFACE_TYPE INTERFACE_TYPE
KSSTATE
Definition: ks.h:1214
KSPIN_DATAFLOW
Definition: ks.h:1248
struct _KSEVENT_ENTRY * PKSEVENT_ENTRY
Definition: ks.h:2101
#define _Inout_
Definition: ms_sal.h:378
#define _Inout_updates_bytes_(size)
Definition: ms_sal.h:399
#define _Out_
Definition: ms_sal.h:345
#define _In_reads_opt_(size)
Definition: ms_sal.h:320
#define _In_
Definition: ms_sal.h:308
#define _In_opt_
Definition: ms_sal.h:309
#define _In_reads_(size)
Definition: ms_sal.h:319
_In_ ULONG _In_ ULONG Offset
Definition: ntddpcm.h:101
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:102
enum _DEVICE_POWER_STATE DEVICE_POWER_STATE
#define BOOLEAN
Definition: pedump.c:73
long LONG
Definition: pedump.c:60
unsigned short USHORT
Definition: pedump.c:61
enum _KINTERRUPT_MODE KINTERRUPT_MODE
#define __analysis_noreturn
Definition: specstrings.h:262
enum _STREAM_MINIDRIVER_DEVICE_NOTIFICATION_TYPE * PSTREAM_MINIDRIVER_DEVICE_NOTIFICATION_TYPE
struct _HW_STREAM_OBJECT * PHW_STREAM_OBJECT
enum _SRB_COMMAND SRB_COMMAND
VOID StreamClassAbortOutstandingRequests(_In_ PVOID HwDeviceExtension, _In_opt_ PHW_STREAM_OBJECT HwStreamObject, _In_ NTSTATUS Status)
struct _ACCESS_RANGE ACCESS_RANGE
_SRB_COMMAND
Definition: strmini.h:171
@ SRB_READ_DATA
Definition: strmini.h:172
@ SRB_PROPOSE_DATA_FORMAT
Definition: strmini.h:183
@ SRB_INDICATE_MASTER_CLOCK
Definition: strmini.h:180
@ SRB_SET_DEVICE_PROPERTY
Definition: strmini.h:197
@ SRB_END_FLUSH
Definition: strmini.h:189
@ SRB_INITIALIZATION_COMPLETE
Definition: strmini.h:204
@ SRB_DEVICE_METHOD
Definition: strmini.h:208
@ SRB_STREAM_METHOD
Definition: strmini.h:209
@ SRB_OPEN_DEVICE_INSTANCE
Definition: strmini.h:194
@ SRB_GET_DATA_INTERSECTION
Definition: strmini.h:203
@ SRB_BEGIN_FLUSH
Definition: strmini.h:188
@ SRB_SET_STREAM_STATE
Definition: strmini.h:175
@ SRB_OPEN_MASTER_CLOCK
Definition: strmini.h:178
@ SRB_SET_STREAM_RATE
Definition: strmini.h:182
@ SRB_INITIALIZE_DEVICE
Definition: strmini.h:198
@ SRB_GET_STREAM_INFO
Definition: strmini.h:191
@ SRB_UNKNOWN_STREAM_COMMAND
Definition: strmini.h:181
@ SRB_GET_STREAM_PROPERTY
Definition: strmini.h:177
@ SRB_OPEN_STREAM
Definition: strmini.h:192
@ SRB_CLOSE_DEVICE_INSTANCE
Definition: strmini.h:195
@ SRB_SET_STREAM_PROPERTY
Definition: strmini.h:176
@ SRB_WRITE_DATA
Definition: strmini.h:173
@ SRB_GET_DEVICE_PROPERTY
Definition: strmini.h:196
@ SRB_CHANGE_POWER_STATE
Definition: strmini.h:199
@ SRB_UNINITIALIZE_DEVICE
Definition: strmini.h:200
@ SRB_NOTIFY_IDLE_STATE
Definition: strmini.h:211
@ SRB_GET_DATA_FORMAT
Definition: strmini.h:187
@ SRB_CLOSE_MASTER_CLOCK
Definition: strmini.h:184
@ SRB_PROPOSE_STREAM_RATE
Definition: strmini.h:185
@ SRB_GET_STREAM_STATE
Definition: strmini.h:174
@ SRB_UNKNOWN_DEVICE_COMMAND
Definition: strmini.h:201
@ SRB_CLOSE_STREAM
Definition: strmini.h:193
@ SRB_SURPRISE_REMOVAL
Definition: strmini.h:205
@ SRB_SET_DATA_FORMAT
Definition: strmini.h:186
@ SRB_PAGING_OUT_DRIVER
Definition: strmini.h:202
VOID(STREAMAPI * PHW_CANCEL_SRB)(IN PHW_STREAM_REQUEST_BLOCK SRB)
Definition: strmini.h:309
struct _HW_STREAM_REQUEST_BLOCK * PHW_STREAM_REQUEST_BLOCK
__GNU_EXTENSION typedef unsigned __int64 * PSTREAM_TIMESTAMP
Definition: strmini.h:39
struct _HW_STREAM_DESCRIPTOR HW_STREAM_DESCRIPTOR
#define STREAMAPI
Definition: strmini.h:8
struct _PORT_CONFIGURATION_INFORMATION * PPORT_CONFIGURATION_INFORMATION
VOID STREAMAPI StreamClassCallAtNewPriority(_In_opt_ PHW_STREAM_OBJECT StreamObject, _In_ PVOID HwDeviceExtension, _In_ STREAM_PRIORITY Priority, _In_ PHW_PRIORITY_ROUTINE PriorityRoutine, _In_ PVOID Context)
VOID(STREAMAPI * PHW_REQUEST_TIMEOUT_HANDLER)(IN PHW_STREAM_REQUEST_BLOCK SRB)
Definition: strmini.h:310
VOID(STREAMAPI * PHW_QUERY_CLOCK_ROUTINE)(IN PHW_TIME_CONTEXT TimeContext)
Definition: strmini.h:314
VOID STREAMAPI StreamClassReenumerateStreams(_In_ PVOID HwDeviceExtension, _In_ ULONG StreamDescriptorSize)
STREAM_PHYSICAL_ADDRESS STREAMAPI StreamClassGetPhysicalAddress(_In_ PVOID HwDeviceExtension, _In_opt_ PHW_STREAM_REQUEST_BLOCK HwSRB, _In_ PVOID VirtualAddress, _In_ STREAM_BUFFER_TYPE Type, _Out_ ULONG *Length)
enum _STREAM_PRIORITY STREAM_PRIORITY
struct _HW_INITIALIZATION_DATA * PHW_INITIALIZATION_DATA
enum _STREAM_MINIDRIVER_STREAM_NOTIFICATION_TYPE * PSTREAM_MINIDRIVER_STREAM_NOTIFICATION_TYPE
struct _HW_STREAM_INFORMATION * PHW_STREAM_INFORMATION
BOOLEAN(STREAMAPI * PHW_INTERRUPT)(IN PVOID DeviceExtension)
Definition: strmini.h:311
_In_ PVOID Argument2
Definition: strmini.h:495
_In_ const GUID _In_ ULONG PinCount
Definition: strmini.h:505
PVOID STREAMAPI StreamClassGetDmaBuffer(_In_ PVOID HwDeviceExtension)
struct _STREAM_DATA_INTERSECT_INFO * PSTREAM_DATA_INTERSECT_INFO
NTSTATUS(STREAMAPI * PHW_EVENT_ROUTINE)(IN PHW_EVENT_DESCRIPTOR EventDescriptor)
Definition: strmini.h:72
enum _STREAM_MINIDRIVER_DEVICE_NOTIFICATION_TYPE STREAM_MINIDRIVER_DEVICE_NOTIFICATION_TYPE
_In_ PVOID _In_ PHW_INITIALIZATION_DATA HwInitializationData
Definition: strmini.h:496
_STREAM_MINIDRIVER_DEVICE_NOTIFICATION_TYPE
Definition: strmini.h:328
@ SignalMultipleDeviceInstanceEvents
Definition: strmini.h:335
@ SignalDeviceEvent
Definition: strmini.h:332
@ SignalMultipleDeviceEvents
Definition: strmini.h:331
@ ReadyForNextDeviceRequest
Definition: strmini.h:329
@ DeleteDeviceEvent
Definition: strmini.h:333
@ DeviceNotificationMaximum
Definition: strmini.h:337
@ DeviceRequestComplete
Definition: strmini.h:330
VOID __cdecl StreamClassDebugPrint(_In_ STREAM_DEBUG_LEVEL DebugPrintLevel, _In_ PCCHAR DebugMessage,...)
struct _HW_INITIALIZATION_DATA HW_INITIALIZATION_DATA
PKSEVENT_ENTRY StreamClassGetNextEvent(_In_opt_ PVOID HwInstanceExtension_OR_HwDeviceExtension, _In_opt_ PHW_STREAM_OBJECT HwStreamObject, _In_opt_ GUID *EventGuid, _In_ ULONG EventItem, _In_opt_ PKSEVENT_ENTRY CurrentEvent)
struct _HW_TIME_CONTEXT HW_TIME_CONTEXT
VOID(STREAMAPI * PHW_RECEIVE_STREAM_CONTROL_SRB)(IN struct _HW_STREAM_REQUEST_BLOCK *SRB)
Definition: strmini.h:71
struct _HW_TIME_CONTEXT * PHW_TIME_CONTEXT
struct _STREAM_METHOD_DESCRIPTOR * PSTREAM_METHOD_DESCRIPTOR
VOID(STREAMAPI * PHW_CLOCK_FUNCTION)(IN PHW_TIME_CONTEXT HwTimeContext)
Definition: strmini.h:73
__GNU_EXTENSION typedef unsigned __int64 STREAM_TIMESTAMP
Definition: strmini.h:39
struct _HW_EVENT_DESCRIPTOR HW_EVENT_DESCRIPTOR
__GNU_EXTENSION typedef unsigned __int64 * PSTREAM_SYSTEM_TIME
Definition: strmini.h:38
VOID(STREAMAPI * PHW_PRIORITY_ROUTINE)(IN PVOID Context)
Definition: strmini.h:313
VOID(STREAMAPI * PHW_RECEIVE_STREAM_DATA_SRB)(IN struct _HW_STREAM_REQUEST_BLOCK *SRB)
Definition: strmini.h:70
VOID STREAMAPI StreamClassCompleteRequestAndMarkQueueReady(_In_ PHW_STREAM_REQUEST_BLOCK Srb)
struct _HW_STREAM_HEADER HW_STREAM_HEADER
struct _STREAM_TIME_REFERENCE STREAM_TIME_REFERENCE
struct KSSCATTER_GATHER * PKSSCATTER_GATHER
TIME_FUNCTION
Definition: strmini.h:41
@ TIME_READ_ONBOARD_CLOCK
Definition: strmini.h:43
@ TIME_GET_STREAM_TIME
Definition: strmini.h:42
@ TIME_SET_ONBOARD_CLOCK
Definition: strmini.h:44
struct _STREAM_TIME_REFERENCE * PSTREAM_TIME_REFERENCE
STREAM_BUFFER_TYPE
Definition: strmini.h:274
@ DmaBuffer
Definition: strmini.h:276
@ SRBDataBuffer
Definition: strmini.h:277
@ PerRequestExtension
Definition: strmini.h:275
struct _STREAM_DATA_INTERSECT_INFO STREAM_DATA_INTERSECT_INFO
enum _STREAM_PRIORITY * PSTREAM_PRIORITY
struct _HW_STREAM_REQUEST_BLOCK HW_STREAM_REQUEST_BLOCK
struct _HW_STREAM_HEADER * PHW_STREAM_HEADER
__GNU_EXTENSION typedef unsigned __int64 STREAM_SYSTEM_TIME
Definition: strmini.h:38
struct _HW_CLOCK_OBJECT HW_CLOCK_OBJECT
struct _HW_STREAM_OBJECT HW_STREAM_OBJECT
struct _PORT_CONFIGURATION_INFORMATION PORT_CONFIGURATION_INFORMATION
BOOLEAN(STREAMAPI * PHW_RESET_ADAPTER)(IN PVOID DeviceExtension)
Definition: strmini.h:315
VOID __cdecl StreamClassStreamNotification(_In_ STREAM_MINIDRIVER_STREAM_NOTIFICATION_TYPE NotificationType, _In_ PHW_STREAM_OBJECT StreamObject,...)
PHYSICAL_ADDRESS * PSTREAM_PHYSICAL_ADDRESS
Definition: strmini.h:37
struct _HW_STREAM_DESCRIPTOR * PHW_STREAM_DESCRIPTOR
_STREAM_PRIORITY
Definition: strmini.h:377
@ High
Definition: strmini.h:378
@ LowToHigh
Definition: strmini.h:381
@ Low
Definition: strmini.h:380
@ Dispatch
Definition: strmini.h:379
_STREAM_MINIDRIVER_STREAM_NOTIFICATION_TYPE
Definition: strmini.h:317
@ ReadyForNextStreamDataRequest
Definition: strmini.h:318
@ SignalStreamEvent
Definition: strmini.h:323
@ StreamRequestComplete
Definition: strmini.h:321
@ SignalMultipleStreamEvents
Definition: strmini.h:322
@ ReadyForNextStreamControlRequest
Definition: strmini.h:319
@ StreamNotificationMaximum
Definition: strmini.h:325
@ HardwareStarved
Definition: strmini.h:320
@ DeleteStreamEvent
Definition: strmini.h:324
VOID STREAMAPI StreamClassScheduleTimer(_In_opt_ PHW_STREAM_OBJECT StreamObject, _In_ PVOID HwDeviceExtension, _In_ ULONG NumberOfMicroseconds, _In_ PHW_TIMER_ROUTINE TimerRoutine, _In_ PVOID Context)
VOID StreamClassQueryMasterClock(_In_ PHW_STREAM_OBJECT HwStreamObject, _In_ HANDLE MasterClockHandle, _In_ TIME_FUNCTION TimeFunction, _In_ PHW_QUERY_CLOCK_ROUTINE ClockCallbackRoutine)
VOID(STREAMAPI * PHW_TIMER_ROUTINE)(IN PVOID Context)
Definition: strmini.h:312
struct _HW_EVENT_DESCRIPTOR * PHW_EVENT_DESCRIPTOR
struct _HW_STREAM_INFORMATION HW_STREAM_INFORMATION
__analysis_noreturn VOID STREAMAPI StreamClassDebugAssert(_In_ PCHAR File, _In_ ULONG Line, _In_ PCHAR AssertText, _In_ ULONG AssertValue)
VOID(STREAMAPI * PHW_RECEIVE_DEVICE_SRB)(IN PHW_STREAM_REQUEST_BLOCK SRB)
Definition: strmini.h:308
VOID STREAMAPI StreamClassFilterReenumerateStreams(_In_ PVOID HwInstanceExtension, _In_ ULONG StreamDescriptorSize)
enum _STREAM_MINIDRIVER_STREAM_NOTIFICATION_TYPE STREAM_MINIDRIVER_STREAM_NOTIFICATION_TYPE
struct _STREAM_PROPERTY_DESCRIPTOR * PSTREAM_PROPERTY_DESCRIPTOR
_Inout_ PHW_TIME_CONTEXT TimeContext
Definition: strmini.h:472
struct _HW_CLOCK_OBJECT * PHW_CLOCK_OBJECT
STREAM_DEBUG_LEVEL
Definition: strmini.h:11
@ DebugLevelInfo
Definition: strmini.h:15
@ DebugLevelWarning
Definition: strmini.h:14
@ DebugLevelVerbose
Definition: strmini.h:17
@ DebugLevelTrace
Definition: strmini.h:16
@ DebugLevelMaximum
Definition: strmini.h:18
@ DebugLevelError
Definition: strmini.h:13
@ DebugLevelFatal
Definition: strmini.h:12
struct _ACCESS_RANGE * PACCESS_RANGE
_In_ BOOLEAN Read
Definition: strmini.h:479
VOID __cdecl StreamClassDeviceNotification(IN STREAM_MINIDRIVER_DEVICE_NOTIFICATION_TYPE NotificationType, IN PVOID HwDeviceExtension, IN PHW_STREAM_REQUEST_BLOCK pSrb, IN PKSEVENT_ENTRY EventEntry, IN GUID *EventSet, IN ULONG EventId)
Definition: driver.c:265
struct _STREAM_PROPERTY_DESCRIPTOR STREAM_PROPERTY_DESCRIPTOR
struct _STREAM_METHOD_DESCRIPTOR STREAM_METHOD_DESCRIPTOR
PHYSICAL_ADDRESS STREAM_PHYSICAL_ADDRESS
Definition: strmini.h:37
PHYSICAL_ADDRESS PhysicalAddress
Definition: strmini.h:217
Definition: ncftp.h:79
ULONG Reserved
Definition: strmini.h:284
ULONG RangeLength
Definition: srb.h:42
_Field_size_bytes_(RangeLength) STREAM_PHYSICAL_ADDRESS RangeStart
BOOLEAN RangeInMemory
Definition: srb.h:43
SCSI_PHYSICAL_ADDRESS RangeStart
Definition: srb.h:41
ULONG ClockSupportFlags
Definition: strmini.h:77
PHW_CLOCK_FUNCTION HwClockFunction
Definition: strmini.h:76
struct _HW_DEVICE_EXTENSION * DeviceExtension
Definition: strmini.h:61
ULONG EnableEventSetIndex
Definition: strmini.h:63
struct _HW_STREAM_OBJECT * StreamObject
Definition: strmini.h:60
PKSEVENT_ENTRY EventEntry
Definition: strmini.h:57
PVOID HwInstanceExtension
Definition: strmini.h:64
PKSEVENTDATA EventData
Definition: strmini.h:58
ULONG PerStreamExtensionSize
Definition: strmini.h:361
_Field_size_(NumNameExtensions) PWCHAR *NameExtensionArray
PHW_INTERRUPT HwInterrupt
Definition: srb.h:569
PHW_CANCEL_SRB HwCancelPacket
Definition: strmini.h:357
ULONG PerRequestExtensionSize
Definition: strmini.h:360
PHW_RECEIVE_DEVICE_SRB HwReceivePacket
Definition: strmini.h:356
ULONG FilterInstanceExtensionSize
Definition: strmini.h:362
BOOLEAN TurnOffSynchronization
Definition: strmini.h:366
PHW_REQUEST_TIMEOUT_HANDLER HwRequestTimeoutHandler
Definition: strmini.h:358
BOOLEAN Dma24BitAddresses
Definition: strmini.h:364
ULONG HwInitializationDataSize
Definition: srb.h:550
ULONG DeviceExtensionSize
Definition: srb.h:574
HW_STREAM_HEADER StreamHeader
Definition: strmini.h:135
HW_STREAM_INFORMATION StreamInfo
Definition: strmini.h:136
ULONG NumDevPropArrayEntries
Definition: strmini.h:105
PKSTOPOLOGY Topology
Definition: strmini.h:109
ULONG SizeOfHwStreamInformation
Definition: strmini.h:104
ULONG NumberOfStreams
Definition: strmini.h:103
PKSEVENT_SET DeviceEventsArray
Definition: strmini.h:108
PKSMETHOD_SET DeviceMethodsArray
Definition: strmini.h:112
PHW_EVENT_ROUTINE DeviceEventRoutine
Definition: strmini.h:110
ULONG NumDevEventArrayEntries
Definition: strmini.h:107
LONG NumDevMethodArrayEntries
Definition: strmini.h:111
PKSPROPERTY_SET DevicePropertiesArray
Definition: strmini.h:106
_Field_size_(MediumsCount) const KSPIN_MEDIUM *Mediums
ULONG NumStreamEventArrayEntries
Definition: strmini.h:124
BOOLEAN DataAccessible
Definition: strmini.h:118
KSPIN_DATAFLOW DataFlow
Definition: strmini.h:117
ULONG NumberOfPossibleInstances
Definition: strmini.h:116
ULONG NumStreamPropArrayEntries
Definition: strmini.h:122
PVOID ClassReserved[4]
Definition: strmini.h:121
_Field_size_(NumStreamPropArrayEntries) PKSPROPERTY_SET StreamPropertiesArray
_Field_size_(NumStreamEventArrayEntries) PKSEVENT_SET StreamEventsArray
ULONG NumberOfFormatArrayEntries
Definition: strmini.h:119
_Field_size_(NumberOfFormatArrayEntries) PKSDATAFORMAT *StreamFormatsArray
PHW_EVENT_ROUTINE HwEventRoutine
Definition: strmini.h:98
BOOLEAN Pio
Definition: strmini.h:93
ULONG StreamNumber
Definition: strmini.h:87
PHW_RECEIVE_STREAM_CONTROL_SRB ReceiveControlPacket
Definition: strmini.h:90
ULONG SizeOfThisPacket
Definition: strmini.h:86
HW_CLOCK_OBJECT HwClockObject
Definition: strmini.h:91
PHW_RECEIVE_STREAM_DATA_SRB ReceiveDataPacket
Definition: strmini.h:89
PVOID HwStreamExtension
Definition: strmini.h:88
BOOLEAN Dma
Definition: strmini.h:92
ULONG StreamHeaderMediaSpecific
Definition: strmini.h:95
PVOID HwDeviceExtension
Definition: strmini.h:94
BOOLEAN Allocator
Definition: strmini.h:97
ULONG StreamHeaderWorkspace
Definition: strmini.h:96
PHW_STREAM_OBJECT StreamObject
Definition: strmini.h:226
SRB_COMMAND Command
Definition: strmini.h:224
union _HW_STREAM_REQUEST_BLOCK::_CommandData CommandData
struct _HW_STREAM_REQUEST_BLOCK * NextSRB
Definition: strmini.h:254
_Field_size_(NumberOfScatterGatherElements) PKSSCATTER_GATHER ScatterGatherBuffer
ULONG NumberOfScatterGatherElements
Definition: strmini.h:267
struct _HW_DEVICE_EXTENSION * HwDeviceExtension
Definition: strmini.h:48
ULONGLONG Time
Definition: strmini.h:51
struct _HW_STREAM_OBJECT * HwStreamObject
Definition: strmini.h:49
TIME_FUNCTION Function
Definition: strmini.h:50
ULONGLONG SystemTime
Definition: strmini.h:52
PDEVICE_OBJECT RealPhysicalDeviceObject
Definition: strmini.h:304
ACCESS_RANGE(* AccessRanges)[]
Definition: srb.h:74
_Field_size_(NumberOfAccessRanges) PACCESS_RANGE AccessRanges
KINTERRUPT_MODE InterruptMode
Definition: srb.h:64
INTERFACE_TYPE AdapterInterfaceType
Definition: srb.h:59
PADAPTER_OBJECT DmaAdapterObject
Definition: strmini.h:303
PDEVICE_OBJECT PhysicalDeviceObject
Definition: strmini.h:291
PDEVICE_OBJECT ClassDeviceObject
Definition: strmini.h:290
_Field_size_bytes_(SizeOfDataFormatBuffer) PVOID DataFormatBuffer
PKSDATARANGE DataRange
Definition: strmini.h:148
STREAM_TIMESTAMP CurrentOnboardClockValue
Definition: strmini.h:140
LARGE_INTEGER OnboardClockFrequency
Definition: strmini.h:141
LARGE_INTEGER CurrentSystemTime
Definition: strmini.h:142
#define IN
Definition: typedefs.h:39
uint16_t * PWCHAR
Definition: typedefs.h:56
uint32_t ULONG
Definition: typedefs.h:59
uint64_t ULONGLONG
Definition: typedefs.h:67
char * PCHAR
Definition: typedefs.h:51
_Field_size_(_Inexpressible_(NumberOfBuffers)) PKSSTREAM_HEADER DataBufferArray
PHW_STREAM_DESCRIPTOR StreamBuffer
Definition: strmini.h:232
PSTREAM_DATA_INTERSECT_INFO IntersectInfo
Definition: strmini.h:240
PSTREAM_TIME_REFERENCE TimeReference
Definition: strmini.h:234
PSTREAM_PROPERTY_DESCRIPTOR PropertyInfo
Definition: strmini.h:235
struct _PORT_CONFIGURATION_INFORMATION * ConfigInfo
Definition: strmini.h:237
_In_ PDEVICE_OBJECT DeviceObject
Definition: wdfdevice.h:2055
_In_ WDF_SPECIAL_FILE_TYPE NotificationType
Definition: wdfdevice.h:1024
_Must_inspect_result_ _In_ WDFDEVICE _In_ CONST GUID * InterfaceClassGUID
Definition: wdfdevice.h:3627
_Must_inspect_result_ _In_ WDFDMATRANSACTION _In_ PFN_WDF_PROGRAM_DMA _In_ WDF_DMA_DIRECTION _In_ PMDL _In_ PVOID VirtualAddress
_In_ WDFINTERRUPT _In_ WDF_INTERRUPT_POLICY _In_ WDF_INTERRUPT_PRIORITY Priority
Definition: wdfinterrupt.h:655
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
_In_ PCEVENT_DESCRIPTOR EventDescriptor
Definition: wmifuncs.h:93
_IRQL_requires_same_ _In_opt_ PVOID Argument1
Definition: cmtypes.h:696
_In_ PIO_TIMER_ROUTINE TimerRoutine
Definition: iofuncs.h:1078