ReactOS  0.4.13-dev-464-g6b95727
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 
11 typedef 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 
41 typedef enum {
46 
47 typedef struct _HW_TIME_CONTEXT {
54 
55 typedef struct _HW_EVENT_DESCRIPTOR {
59  __GNU_EXTENSION union {
62  };
67 
69 
70 typedef VOID (STREAMAPI *PHW_RECEIVE_STREAM_DATA_SRB) (IN struct _HW_STREAM_REQUEST_BLOCK *SRB);
74 
75 typedef 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 
85 typedef struct _HW_STREAM_OBJECT {
89  PHW_RECEIVE_STREAM_DATA_SRB ReceiveDataPacket;
101 
102 typedef struct _HW_STREAM_HEADER {
106  PKSPROPERTY_SET DevicePropertiesArray;
108  PKSEVENT_SET DeviceEventsArray;
112  PKSMETHOD_SET DeviceMethodsArray;
114 
115 typedef struct _HW_STREAM_INFORMATION {
123  _Field_size_(NumStreamPropArrayEntries) PKSPROPERTY_SET StreamPropertiesArray;
125  _Field_size_(NumStreamEventArrayEntries) PKSEVENT_SET StreamEventsArray;
129  _Field_size_(MediumsCount) const KSPIN_MEDIUM* Mediums;
133 
134 typedef struct _HW_STREAM_DESCRIPTOR {
138 
139 typedef struct _STREAM_TIME_REFERENCE {
145 
152 
160 
168 
169 #define STREAM_REQUEST_BLOCK_SIZE sizeof(STREAM_REQUEST_BLOCK)
170 
171 typedef 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
214 } SRB_COMMAND;
215 
216 typedef struct {
220 
221 
222 typedef struct _HW_STREAM_REQUEST_BLOCK {
229 
230  union _CommandData {
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
249  } CommandData;
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 
274 typedef enum {
279 
280 typedef struct _ACCESS_RANGE {
286 
287 typedef struct _PORT_CONFIGURATION_INFORMATION {
307 
311 typedef BOOLEAN (STREAMAPI *PHW_INTERRUPT) (IN PVOID DeviceExtension);
315 typedef 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 
342 typedef 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)
371  _Field_size_(NumNameExtensions) PWCHAR *NameExtensionArray;
372 #else
373  ULONG Reserved[2];
374 #endif
376 
377 typedef enum _STREAM_PRIORITY {
383 
384 
385 VOID
387  _In_ PVOID HwDeviceExtension,
388  _In_opt_ PHW_STREAM_OBJECT HwStreamObject,
390 
391 VOID
392 STREAMAPI
394  _In_opt_ PHW_STREAM_OBJECT StreamObject,
395  _In_ PVOID HwDeviceExtension,
397  _In_ PHW_PRIORITY_ROUTINE PriorityRoutine,
398  _In_ PVOID Context);
399 
400 VOID
401 STREAMAPI
404 
406 VOID
407 STREAMAPI
409  _In_ PCHAR File,
410  _In_ ULONG Line,
411  _In_ PCHAR AssertText,
412  _In_ ULONG AssertValue);
413 
414 VOID
415 __cdecl
417  _In_ STREAM_DEBUG_LEVEL DebugPrintLevel,
418  _In_ PCCHAR DebugMessage,
419  ...);
420 
421 VOID
422 __cdecl
425  IN PVOID HwDeviceExtension,
427  IN PKSEVENT_ENTRY EventEntry,
428  IN GUID *EventSet,
429  IN ULONG EventId);
430 
431 VOID
432 STREAMAPI
434  _In_ PVOID HwInstanceExtension,
435  _In_ ULONG StreamDescriptorSize);
436 
437 PVOID
438 STREAMAPI
440  _In_ PVOID HwDeviceExtension);
441 
442 
445  _In_opt_ PVOID HwInstanceExtension_OR_HwDeviceExtension,
446  _In_opt_ PHW_STREAM_OBJECT HwStreamObject,
447  _In_opt_ GUID *EventGuid,
448  _In_ ULONG EventItem,
449  _In_opt_ PKSEVENT_ENTRY CurrentEvent);
450 
452 STREAMAPI
454  _In_ PVOID HwDeviceExtension,
458  _Out_ ULONG *Length);
459 
460 VOID
462  _In_ PHW_STREAM_OBJECT HwStreamObject,
463  _In_ HANDLE MasterClockHandle,
464  _In_ TIME_FUNCTION TimeFunction,
465  _In_ PHW_QUERY_CLOCK_ROUTINE ClockCallbackRoutine);
466 
468 VOID
469 STREAMAPI
470 StreamClassQueryMasterClockSync(
471  _In_ HANDLE MasterClockHandle,
473 
475 BOOLEAN
476 STREAMAPI
478  _In_ PVOID HwDeviceExtension,
482  _In_ ULONG Length);
483 
484 VOID
485 STREAMAPI
487  _In_ PVOID HwDeviceExtension,
488  _In_ ULONG StreamDescriptorSize);
489 
491 NTSTATUS
492 STREAMAPI
497 
498 #define StreamClassRegisterMinidriver StreamClassRegisterAdapter
499 
501 NTSTATUS
502 StreamClassRegisterFilterWithNoKSPins(
506  _In_reads_(PinCount) BOOL *PinDirection,
507  _In_reads_(PinCount) KSPIN_MEDIUM *MediumList,
508  _In_reads_opt_(PinCount) GUID *CategoryList);
509 
510 VOID
511 STREAMAPI
513  _In_opt_ PHW_STREAM_OBJECT StreamObject,
514  _In_ PVOID HwDeviceExtension,
515  _In_ ULONG NumberOfMicroseconds,
517  _In_ PVOID Context);
518 
519 VOID
520 __cdecl
523  _In_ PHW_STREAM_OBJECT StreamObject,
524  ...);
525 
526 #endif /* _STREAM_H */
struct _PORT_CONFIGURATION_INFORMATION * PPORT_CONFIGURATION_INFORMATION
#define __GNU_EXTENSION
Definition: _mingw_mac.h:135
enum _STREAM_MINIDRIVER_DEVICE_NOTIFICATION_TYPE * PSTREAM_MINIDRIVER_DEVICE_NOTIFICATION_TYPE
signed char * PCHAR
Definition: retypes.h:7
PHW_CANCEL_SRB HwCancelPacket
Definition: strmini.h:357
VOID STREAMAPI StreamClassReenumerateStreams(_In_ PVOID HwDeviceExtension, _In_ ULONG StreamDescriptorSize)
typedef VOID(STREAMAPI *PHW_RECEIVE_STREAM_DATA_SRB)(IN struct _HW_STREAM_REQUEST_BLOCK *SRB)
#define IN
Definition: typedefs.h:38
ULONG EnableEventSetIndex
Definition: strmini.h:63
_In_ BOOLEAN Read
Definition: strmini.h:479
_In_ PVOID Argument2
Definition: strmini.h:495
HW_CLOCK_OBJECT HwClockObject
Definition: strmini.h:91
BOOLEAN(STREAMAPI * PHW_RESET_ADAPTER)(IN PVOID DeviceExtension)
Definition: strmini.h:315
PKSEVENT_SET DeviceEventsArray
Definition: strmini.h:108
ULONG FilterInstanceExtensionSize
Definition: strmini.h:362
INTERFACE_TYPE AdapterInterfaceType
Definition: srb.h:55
_Field_size_bytes_(SizeOfDataFormatBuffer) PVOID DataFormatBuffer
PKSTOPOLOGY Topology
Definition: strmini.h:109
enum _INTERFACE_TYPE INTERFACE_TYPE
LARGE_INTEGER CurrentSystemTime
Definition: strmini.h:142
_IRQL_requires_same_ _In_opt_ PVOID Argument1
Definition: cmtypes.h:694
Type
Definition: Type.h:6
#define __cdecl
Definition: accygwin.h:79
BOOLEAN Pio
Definition: strmini.h:93
struct _HW_CLOCK_OBJECT * PHW_CLOCK_OBJECT
VOID __cdecl StreamClassDebugPrint(_In_ STREAM_DEBUG_LEVEL DebugPrintLevel, _In_ PCCHAR DebugMessage,...)
STREAM_TIMESTAMP CurrentOnboardClockValue
Definition: strmini.h:140
ULONG Reserved
Definition: strmini.h:284
struct _HW_CLOCK_OBJECT HW_CLOCK_OBJECT
VOID STREAMAPI StreamClassScheduleTimer(_In_opt_ PHW_STREAM_OBJECT StreamObject, _In_ PVOID HwDeviceExtension, _In_ ULONG NumberOfMicroseconds, _In_ PHW_TIMER_ROUTINE TimerRoutine, _In_ PVOID Context)
_SRB_COMMAND
Definition: strmini.h:171
PVOID HwDeviceExtension
Definition: strmini.h:94
struct _HW_DEVICE_EXTENSION * DeviceExtension
Definition: strmini.h:61
struct _STREAM_METHOD_DESCRIPTOR STREAM_METHOD_DESCRIPTOR
struct _ACCESS_RANGE ACCESS_RANGE
VOID(STREAMAPI * PHW_RECEIVE_DEVICE_SRB)(IN PHW_STREAM_REQUEST_BLOCK SRB)
Definition: strmini.h:308
ULONG StreamHeaderWorkspace
Definition: strmini.h:96
VOID(STREAMAPI * PHW_TIMER_ROUTINE)(IN PVOID Context)
Definition: strmini.h:312
LONG NTSTATUS
Definition: precomp.h:26
enum _STREAM_PRIORITY STREAM_PRIORITY
ULONG HwInitializationDataSize
Definition: srb.h:542
BOOLEAN(STREAMAPI * PHW_INTERRUPT)(IN PVOID DeviceExtension)
Definition: strmini.h:311
_In_ KPRIORITY Priority
Definition: kefuncs.h:516
PHYSICAL_ADDRESS PhysicalAddress
Definition: strmini.h:217
PHW_EVENT_ROUTINE HwEventRoutine
Definition: strmini.h:98
VOID(STREAMAPI * PHW_CLOCK_FUNCTION)(IN PHW_TIME_CONTEXT HwTimeContext)
Definition: strmini.h:73
struct _HW_STREAM_OBJECT * HwStreamObject
Definition: strmini.h:49
PKSMETHOD_SET DeviceMethodsArray
Definition: strmini.h:112
PVOID HwInstanceExtension
Definition: strmini.h:64
PHYSICAL_ADDRESS * PSTREAM_PHYSICAL_ADDRESS
Definition: strmini.h:37
ULONG DeviceExtensionSize
Definition: srb.h:566
_In_ BOOLEAN _Inout_updates_bytes_(Length) PVOID Buffer
Definition: strmini.h:380
LARGE_INTEGER OnboardClockFrequency
Definition: strmini.h:141
struct _HW_STREAM_DESCRIPTOR HW_STREAM_DESCRIPTOR
PDEVICE_OBJECT RealPhysicalDeviceObject
Definition: strmini.h:304
ACCESS_RANGE(* AccessRanges)[]
Definition: srb.h:70
PDEVICE_OBJECT ClassDeviceObject
Definition: strmini.h:290
__analysis_noreturn VOID STREAMAPI StreamClassDebugAssert(_In_ PCHAR File, _In_ ULONG Line, _In_ PCHAR AssertText, _In_ ULONG AssertValue)
_Field_size_(NumberOfScatterGatherElements) PKSSCATTER_GATHER ScatterGatherBuffer
VOID(STREAMAPI * PHW_QUERY_CLOCK_ROUTINE)(IN PHW_TIME_CONTEXT TimeContext)
Definition: strmini.h:314
uint16_t * PWCHAR
Definition: typedefs.h:54
enum _STREAM_MINIDRIVER_STREAM_NOTIFICATION_TYPE * PSTREAM_MINIDRIVER_STREAM_NOTIFICATION_TYPE
_STREAM_PRIORITY
Definition: strmini.h:377
struct _HW_STREAM_REQUEST_BLOCK HW_STREAM_REQUEST_BLOCK
__GNU_EXTENSION typedef unsigned __int64 STREAM_TIMESTAMP
Definition: strmini.h:39
_In_ const GUID _In_ ULONG PinCount
Definition: strmini.h:504
VOID StreamClassAbortOutstandingRequests(_In_ PVOID HwDeviceExtension, _In_opt_ PHW_STREAM_OBJECT HwStreamObject, _In_ NTSTATUS Status)
_In_ const GUID _In_ ULONG _In_reads_(PinCount) BOOL *PinDirection
struct _PORT_CONFIGURATION_INFORMATION PORT_CONFIGURATION_INFORMATION
_IRQL_requires_max_(DISPATCH_LEVEL) VOID STREAMAPI StreamClassQueryMasterClockSync(_In_ HANDLE MasterClockHandle
Definition: rmap.c:30
struct _HW_STREAM_DESCRIPTOR * PHW_STREAM_DESCRIPTOR
#define _In_opt_
Definition: no_sal2.h:213
struct _HW_TIME_CONTEXT HW_TIME_CONTEXT
PHW_CLOCK_FUNCTION HwClockFunction
Definition: strmini.h:76
VOID STREAMAPI StreamClassFilterReenumerateStreams(_In_ PVOID HwInstanceExtension, _In_ ULONG StreamDescriptorSize)
struct _HW_TIME_CONTEXT * PHW_TIME_CONTEXT
struct _STREAM_DATA_INTERSECT_INFO STREAM_DATA_INTERSECT_INFO
struct _HW_INITIALIZATION_DATA HW_INITIALIZATION_DATA
ULONG StreamHeaderMediaSpecific
Definition: strmini.h:95
struct _PORT_CONFIGURATION_INFORMATION * ConfigInfo
Definition: strmini.h:237
_In_ ULONG _In_ ULONG Offset
Definition: ntddpcm.h:101
BOOLEAN Dma24BitAddresses
Definition: strmini.h:364
unsigned int BOOL
Definition: ntddk_ex.h:94
long LONG
Definition: pedump.c:60
PHW_INTERRUPT HwInterrupt
Definition: srb.h:561
ULONG StreamNumber
Definition: strmini.h:87
VOID(STREAMAPI * PHW_PRIORITY_ROUTINE)(IN PVOID Context)
Definition: strmini.h:313
ULONGLONG SystemTime
Definition: strmini.h:52
VOID STREAMAPI StreamClassCompleteRequestAndMarkQueueReady(_In_ PHW_STREAM_REQUEST_BLOCK Srb)
_STREAM_MINIDRIVER_DEVICE_NOTIFICATION_TYPE
Definition: strmini.h:328
TIME_FUNCTION
Definition: strmini.h:41
STREAM_BUFFER_TYPE
Definition: strmini.h:274
ULONG NumDevEventArrayEntries
Definition: strmini.h:107
unsigned char BOOLEAN
ULONG SizeOfHwStreamInformation
Definition: strmini.h:104
VOID(STREAMAPI * PHW_REQUEST_TIMEOUT_HANDLER)(IN PHW_STREAM_REQUEST_BLOCK SRB)
Definition: strmini.h:310
enum _KINTERRUPT_MODE KINTERRUPT_MODE
#define _Out_
Definition: no_sal2.h:323
struct _STREAM_TIME_REFERENCE * PSTREAM_TIME_REFERENCE
HW_STREAM_HEADER StreamHeader
Definition: strmini.h:135
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
Definition: bufpool.h:45
KSPIN_DATAFLOW DataFlow
Definition: strmini.h:117
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
PVOID STREAMAPI StreamClassGetDmaBuffer(_In_ PVOID HwDeviceExtension)
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)
ULONG NumberOfFormatArrayEntries
Definition: strmini.h:119
KSPIN_DATAFLOW
Definition: ks.h:1278
ULONG PerRequestExtensionSize
Definition: strmini.h:360
_Field_size_bytes_(RangeLength) STREAM_PHYSICAL_ADDRESS RangeStart
struct _HW_STREAM_HEADER HW_STREAM_HEADER
struct _HW_STREAM_INFORMATION * PHW_STREAM_INFORMATION
struct _HW_STREAM_INFORMATION HW_STREAM_INFORMATION
KINTERRUPT_MODE InterruptMode
Definition: srb.h:60
PVOID ClassReserved[4]
Definition: strmini.h:121
_In_ const GUID _In_ ULONG _In_reads_opt_(PinCount) GUID *CategoryList)
enum _DEVICE_POWER_STATE DEVICE_POWER_STATE
PHW_RECEIVE_STREAM_DATA_SRB ReceiveDataPacket
Definition: strmini.h:89
struct _HW_STREAM_OBJECT * StreamObject
Definition: strmini.h:60
__GNU_EXTENSION typedef unsigned __int64 STREAM_SYSTEM_TIME
Definition: strmini.h:38
PSTREAM_TIME_REFERENCE TimeReference
Definition: strmini.h:234
struct _HW_STREAM_REQUEST_BLOCK * NextSRB
Definition: strmini.h:254
_Field_size_(_Inexpressible_(NumberOfBuffers)) PKSSTREAM_HEADER DataBufferArray
enum _STREAM_PRIORITY * PSTREAM_PRIORITY
struct _HW_EVENT_DESCRIPTOR * PHW_EVENT_DESCRIPTOR
ULONG NumDevPropArrayEntries
Definition: strmini.h:105
PHW_RECEIVE_STREAM_CONTROL_SRB ReceiveControlPacket
Definition: strmini.h:90
PVOID HwStreamExtension
Definition: strmini.h:88
uint64_t ULONGLONG
Definition: typedefs.h:65
_In_ const GUID * InterfaceClassGUID
Definition: strmini.h:504
BOOLEAN TurnOffSynchronization
Definition: strmini.h:366
_Field_size_(NumberOfFormatArrayEntries) PKSDATAFORMAT *StreamFormatsArray
ULONG PerStreamExtensionSize
Definition: strmini.h:361
struct _HW_STREAM_OBJECT * PHW_STREAM_OBJECT
PADAPTER_OBJECT DmaAdapterObject
Definition: strmini.h:303
NTSTATUS STREAMAPI StreamClassRegisterAdapter(IN PVOID Argument1, IN PVOID Argument2, IN PHW_INITIALIZATION_DATA HwInitializationData)
Definition: driver.c:106
struct _STREAM_PROPERTY_DESCRIPTOR STREAM_PROPERTY_DESCRIPTOR
VOID __cdecl StreamClassStreamNotification(_In_ STREAM_MINIDRIVER_STREAM_NOTIFICATION_TYPE NotificationType, _In_ PHW_STREAM_OBJECT StreamObject,...)
#define _Inout_
Definition: no_sal2.h:244
VOID(STREAMAPI * PHW_RECEIVE_STREAM_CONTROL_SRB)(IN struct _HW_STREAM_REQUEST_BLOCK *SRB)
Definition: strmini.h:71
PSTREAM_PROPERTY_DESCRIPTOR PropertyInfo
Definition: strmini.h:235
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:101
enum _STREAM_MINIDRIVER_STREAM_NOTIFICATION_TYPE STREAM_MINIDRIVER_STREAM_NOTIFICATION_TYPE
struct _STREAM_DATA_INTERSECT_INFO * PSTREAM_DATA_INTERSECT_INFO
Definition: strmini.h:378
BOOLEAN Allocator
Definition: strmini.h:97
SCSI_PHYSICAL_ADDRESS RangeStart
Definition: srb.h:41
PHW_REQUEST_TIMEOUT_HANDLER HwRequestTimeoutHandler
Definition: strmini.h:358
struct _STREAM_TIME_REFERENCE STREAM_TIME_REFERENCE
BOOLEAN Dma
Definition: strmini.h:92
Definition: ncftp.h:79
BOOLEAN RangeInMemory
Definition: srb.h:43
ULONG SizeOfThisPacket
Definition: strmini.h:86
PHW_STREAM_DESCRIPTOR StreamBuffer
Definition: strmini.h:232
#define NTSTATUS
Definition: precomp.h:20
PKSDATARANGE DataRange
Definition: strmini.h:148
_STREAM_MINIDRIVER_STREAM_NOTIFICATION_TYPE
Definition: strmini.h:317
struct _STREAM_PROPERTY_DESCRIPTOR * PSTREAM_PROPERTY_DESCRIPTOR
struct KSSCATTER_GATHER * PKSSCATTER_GATHER
_In_ ULONG _In_ BOOLEAN _Must_inspect_result_ PVOID * VirtualAddress
Definition: ndis.h:3791
HW_STREAM_INFORMATION StreamInfo
Definition: strmini.h:136
#define PASSIVE_LEVEL
Definition: env_spec_w32.h:693
_In_ PCEVENT_DESCRIPTOR EventDescriptor
Definition: wmifuncs.h:93
Status
Definition: gdiplustypes.h:24
union _HW_STREAM_REQUEST_BLOCK::_CommandData CommandData
VOID STREAMAPI StreamClassCallAtNewPriority(_In_opt_ PHW_STREAM_OBJECT StreamObject, _In_ PVOID HwDeviceExtension, _In_ STREAM_PRIORITY Priority, _In_ PHW_PRIORITY_ROUTINE PriorityRoutine, _In_ PVOID Context)
struct _HW_INITIALIZATION_DATA * PHW_INITIALIZATION_DATA
#define DISPATCH_LEVEL
Definition: env_spec_w32.h:696
#define _In_
Definition: no_sal2.h:204
IN PDEVICE_OBJECT DeviceObject
Definition: fatprocs.h:1560
_Field_size_(NumberOfAccessRanges) PACCESS_RANGE AccessRanges
struct _STREAM_METHOD_DESCRIPTOR * PSTREAM_METHOD_DESCRIPTOR
struct _HW_EVENT_DESCRIPTOR HW_EVENT_DESCRIPTOR
KSSTATE
Definition: ks.h:1244
unsigned short USHORT
Definition: pedump.c:61
struct _HW_STREAM_OBJECT HW_STREAM_OBJECT
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)
PHW_EVENT_ROUTINE DeviceEventRoutine
Definition: strmini.h:110
ULONG RangeLength
Definition: srb.h:42
_In_ PVOID _In_ PHW_INITIALIZATION_DATA HwInitializationData
Definition: strmini.h:495
struct _HW_STREAM_REQUEST_BLOCK * PHW_STREAM_REQUEST_BLOCK
#define STREAMAPI
Definition: strmini.h:8
__GNU_EXTENSION typedef unsigned __int64 * PSTREAM_TIMESTAMP
Definition: strmini.h:39
VOID(STREAMAPI * PHW_CANCEL_SRB)(IN PHW_STREAM_REQUEST_BLOCK SRB)
Definition: strmini.h:309
struct _HW_STREAM_HEADER * PHW_STREAM_HEADER
ULONG NumberOfScatterGatherElements
Definition: strmini.h:267
VOID StreamClassQueryMasterClock(_In_ PHW_STREAM_OBJECT HwStreamObject, _In_ HANDLE MasterClockHandle, _In_ TIME_FUNCTION TimeFunction, _In_ PHW_QUERY_CLOCK_ROUTINE ClockCallbackRoutine)
ULONG NumStreamEventArrayEntries
Definition: strmini.h:124
ULONGLONG Time
Definition: strmini.h:51
PDEVICE_OBJECT PhysicalDeviceObject
Definition: strmini.h:291
PKSPROPERTY_SET DevicePropertiesArray
Definition: strmini.h:106
_Field_size_(NumNameExtensions) PWCHAR *NameExtensionArray
_In_ PIO_TIMER_ROUTINE TimerRoutine
Definition: iofuncs.h:1076
ULONG ClockSupportFlags
Definition: strmini.h:77
#define BOOLEAN
Definition: pedump.c:73
struct _HW_DEVICE_EXTENSION * HwDeviceExtension
Definition: strmini.h:48
ULONG NumberOfPossibleInstances
Definition: strmini.h:116
NTSTATUS(STREAMAPI * PHW_EVENT_ROUTINE)(IN PHW_EVENT_DESCRIPTOR EventDescriptor)
Definition: strmini.h:72
struct tagContext Context
Definition: acpixf.h:1012
unsigned int ULONG
Definition: retypes.h:1
enum _SRB_COMMAND SRB_COMMAND
BOOLEAN STREAMAPI StreamClassReadWriteConfig(IN PVOID HwDeviceExtension, IN BOOLEAN Read, IN PVOID Buffer, IN ULONG OffSet, IN ULONG Length)
Definition: driver.c:322
struct _KSEVENT_ENTRY * PKSEVENT_ENTRY
Definition: ks.h:2131
STREAM_DEBUG_LEVEL
Definition: strmini.h:11
SRB_COMMAND Command
Definition: strmini.h:224
ULONG NumStreamPropArrayEntries
Definition: strmini.h:122
PSTREAM_DATA_INTERSECT_INFO IntersectInfo
Definition: strmini.h:240
PKSEVENT_ENTRY EventEntry
Definition: strmini.h:57
PKSEVENTDATA EventData
Definition: strmini.h:58
PHYSICAL_ADDRESS STREAM_PHYSICAL_ADDRESS
Definition: strmini.h:37
Definition: File.h:15
#define __analysis_noreturn
Definition: specstrings.h:61
PHW_STREAM_OBJECT StreamObject
Definition: strmini.h:226
__GNU_EXTENSION typedef unsigned __int64 * PSTREAM_SYSTEM_TIME
Definition: strmini.h:38
BOOLEAN DataAccessible
Definition: strmini.h:118
ULONG NumberOfStreams
Definition: strmini.h:103
IN PSCSI_REQUEST_BLOCK Srb
Definition: class2.h:49
LONG NumDevMethodArrayEntries
Definition: strmini.h:111
struct _ACCESS_RANGE * PACCESS_RANGE
PHW_RECEIVE_DEVICE_SRB HwReceivePacket
Definition: strmini.h:356
_Inout_ PHW_TIME_CONTEXT TimeContext
Definition: strmini.h:472
#define APC_LEVEL
Definition: env_spec_w32.h:695
enum _STREAM_MINIDRIVER_DEVICE_NOTIFICATION_TYPE STREAM_MINIDRIVER_DEVICE_NOTIFICATION_TYPE
TIME_FUNCTION Function
Definition: strmini.h:50
#define __int64
Definition: basetyps.h:16