ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

strmini.h
Go to the documentation of this file.
00001 #ifndef _STREAM_H
00002 #define _STREAM_H
00003 
00004 #include <ntddk.h>
00005 #include <windef.h>
00006 #include <ks.h>
00007 
00008 #define STREAMAPI __stdcall
00009 #define STREAM_SYSTEM_TIME_MASK   ((STREAM_SYSTEM_TIME)0x00000001FFFFFFFF)
00010 
00011 typedef enum {
00012   DebugLevelFatal = 0,
00013   DebugLevelError,
00014   DebugLevelWarning,
00015   DebugLevelInfo,
00016   DebugLevelTrace,
00017   DebugLevelVerbose,
00018   DebugLevelMaximum
00019 } STREAM_DEBUG_LEVEL;
00020 
00021 #if DBG
00022 
00023 #define DebugPrint(x) StreamClassDebugPrint x
00024 #define DEBUG_BREAKPOINT() DbgBreakPoint()
00025 #define DEBUG_ASSERT(exp) \
00026   if ( !(exp) ) {         \
00027     StreamClassDebugAssert( __FILE__, __LINE__, #exp, exp); \
00028   }
00029 #else
00030 
00031 #define DebugPrint(x)
00032 #define DEBUG_BREAKPOINT()
00033 #define DEBUG_ASSERT(exp)
00034 
00035 #endif
00036 
00037 typedef PHYSICAL_ADDRESS STREAM_PHYSICAL_ADDRESS, *PSTREAM_PHYSICAL_ADDRESS;
00038 __GNU_EXTENSION typedef unsigned __int64 STREAM_SYSTEM_TIME, *PSTREAM_SYSTEM_TIME;
00039 __GNU_EXTENSION typedef unsigned __int64 STREAM_TIMESTAMP, *PSTREAM_TIMESTAMP;
00040 
00041 typedef enum {
00042   TIME_GET_STREAM_TIME,
00043   TIME_READ_ONBOARD_CLOCK,
00044   TIME_SET_ONBOARD_CLOCK
00045 } TIME_FUNCTION;
00046 
00047 typedef struct _HW_TIME_CONTEXT {
00048   struct _HW_DEVICE_EXTENSION *HwDeviceExtension;
00049   struct _HW_STREAM_OBJECT *HwStreamObject;
00050   TIME_FUNCTION Function;
00051   ULONGLONG Time;
00052   ULONGLONG SystemTime;
00053 } HW_TIME_CONTEXT, *PHW_TIME_CONTEXT;
00054 
00055 typedef struct _HW_EVENT_DESCRIPTOR {
00056   BOOLEAN Enable;
00057   PKSEVENT_ENTRY EventEntry;
00058   PKSEVENTDATA EventData;
00059   __GNU_EXTENSION union {
00060     struct _HW_STREAM_OBJECT * StreamObject;
00061     struct _HW_DEVICE_EXTENSION *DeviceExtension;
00062   };
00063   ULONG EnableEventSetIndex;
00064   PVOID HwInstanceExtension;
00065   ULONG Reserved;
00066 } HW_EVENT_DESCRIPTOR, *PHW_EVENT_DESCRIPTOR;
00067 
00068 struct _HW_STREAM_REQUEST_BLOCK;
00069 
00070 typedef VOID (STREAMAPI *PHW_RECEIVE_STREAM_DATA_SRB) (IN struct _HW_STREAM_REQUEST_BLOCK *SRB);
00071 typedef VOID (STREAMAPI *PHW_RECEIVE_STREAM_CONTROL_SRB) (IN struct _HW_STREAM_REQUEST_BLOCK *SRB);
00072 typedef NTSTATUS (STREAMAPI *PHW_EVENT_ROUTINE) (IN PHW_EVENT_DESCRIPTOR EventDescriptor);
00073 typedef VOID (STREAMAPI *PHW_CLOCK_FUNCTION) (IN PHW_TIME_CONTEXT HwTimeContext);
00074 
00075 typedef struct _HW_CLOCK_OBJECT {
00076   PHW_CLOCK_FUNCTION HwClockFunction;
00077   ULONG ClockSupportFlags;
00078   ULONG Reserved[2];
00079 } HW_CLOCK_OBJECT, *PHW_CLOCK_OBJECT;
00080 
00081 #define CLOCK_SUPPORT_CAN_SET_ONBOARD_CLOCK  0x1
00082 #define CLOCK_SUPPORT_CAN_READ_ONBOARD_CLOCK 0x2
00083 #define CLOCK_SUPPORT_CAN_RETURN_STREAM_TIME 0x4
00084 
00085 typedef struct _HW_STREAM_OBJECT {
00086   ULONG SizeOfThisPacket;
00087   ULONG StreamNumber;
00088   PVOID HwStreamExtension;
00089   PHW_RECEIVE_STREAM_DATA_SRB ReceiveDataPacket;
00090   PHW_RECEIVE_STREAM_CONTROL_SRB ReceiveControlPacket;
00091   HW_CLOCK_OBJECT HwClockObject;
00092   BOOLEAN Dma;
00093   BOOLEAN Pio;
00094   PVOID HwDeviceExtension;
00095   ULONG StreamHeaderMediaSpecific;
00096   ULONG StreamHeaderWorkspace;
00097   BOOLEAN Allocator;
00098   PHW_EVENT_ROUTINE HwEventRoutine;
00099   ULONG Reserved[2];
00100 } HW_STREAM_OBJECT, *PHW_STREAM_OBJECT;
00101 
00102 typedef struct _HW_STREAM_HEADER {
00103   ULONG NumberOfStreams;
00104   ULONG SizeOfHwStreamInformation;
00105   ULONG NumDevPropArrayEntries;
00106   PKSPROPERTY_SET DevicePropertiesArray;
00107   ULONG NumDevEventArrayEntries;
00108   PKSEVENT_SET DeviceEventsArray;
00109   PKSTOPOLOGY Topology;
00110   PHW_EVENT_ROUTINE DeviceEventRoutine;
00111   LONG NumDevMethodArrayEntries;
00112   PKSMETHOD_SET DeviceMethodsArray;
00113 } HW_STREAM_HEADER, *PHW_STREAM_HEADER;
00114 
00115 typedef struct _HW_STREAM_INFORMATION {
00116   ULONG NumberOfPossibleInstances;
00117   KSPIN_DATAFLOW DataFlow;
00118   BOOLEAN DataAccessible;
00119   ULONG NumberOfFormatArrayEntries;
00120   PKSDATAFORMAT* StreamFormatsArray;
00121   PVOID ClassReserved[4];
00122   ULONG NumStreamPropArrayEntries;
00123   PKSPROPERTY_SET StreamPropertiesArray;
00124   ULONG NumStreamEventArrayEntries;
00125   PKSEVENT_SET StreamEventsArray;
00126   GUID* Category;
00127   GUID* Name;
00128   ULONG MediumsCount;
00129   const KSPIN_MEDIUM* Mediums;
00130   BOOLEAN BridgeStream;
00131   ULONG Reserved[2];
00132 } HW_STREAM_INFORMATION, *PHW_STREAM_INFORMATION;
00133 
00134 typedef struct _HW_STREAM_DESCRIPTOR {
00135   HW_STREAM_HEADER StreamHeader;
00136   HW_STREAM_INFORMATION StreamInfo;
00137 } HW_STREAM_DESCRIPTOR, *PHW_STREAM_DESCRIPTOR;
00138 
00139 typedef struct _STREAM_TIME_REFERENCE {
00140   STREAM_TIMESTAMP CurrentOnboardClockValue;
00141   LARGE_INTEGER OnboardClockFrequency;
00142   LARGE_INTEGER CurrentSystemTime;
00143   ULONG Reserved[2];
00144 } STREAM_TIME_REFERENCE, *PSTREAM_TIME_REFERENCE;
00145 
00146 typedef struct _STREAM_DATA_INTERSECT_INFO {
00147   ULONG StreamNumber;
00148   PKSDATARANGE DataRange;
00149   PVOID DataFormatBuffer;
00150   ULONG SizeOfDataFormatBuffer;
00151 } STREAM_DATA_INTERSECT_INFO, *PSTREAM_DATA_INTERSECT_INFO;
00152 
00153 typedef struct _STREAM_PROPERTY_DESCRIPTOR {
00154   PKSPROPERTY Property;
00155   ULONG PropertySetID;
00156   PVOID PropertyInfo;
00157   ULONG PropertyInputSize;
00158   ULONG PropertyOutputSize;
00159 } STREAM_PROPERTY_DESCRIPTOR, *PSTREAM_PROPERTY_DESCRIPTOR;
00160 
00161 typedef struct _STREAM_METHOD_DESCRIPTOR {
00162   ULONG MethodSetID;
00163   PKSMETHOD Method;
00164   PVOID MethodInfo;
00165   LONG MethodInputSize;
00166   LONG MethodOutputSize;
00167 } STREAM_METHOD_DESCRIPTOR, *PSTREAM_METHOD_DESCRIPTOR;
00168 
00169 #define STREAM_REQUEST_BLOCK_SIZE sizeof(STREAM_REQUEST_BLOCK)
00170 
00171 typedef enum _SRB_COMMAND {
00172   SRB_READ_DATA,
00173   SRB_WRITE_DATA, 
00174   SRB_GET_STREAM_STATE,
00175   SRB_SET_STREAM_STATE,
00176   SRB_SET_STREAM_PROPERTY,
00177   SRB_GET_STREAM_PROPERTY,
00178   SRB_OPEN_MASTER_CLOCK,
00179 
00180   SRB_INDICATE_MASTER_CLOCK,
00181   SRB_UNKNOWN_STREAM_COMMAND,
00182   SRB_SET_STREAM_RATE,
00183   SRB_PROPOSE_DATA_FORMAT,
00184   SRB_CLOSE_MASTER_CLOCK,
00185   SRB_PROPOSE_STREAM_RATE,
00186   SRB_SET_DATA_FORMAT,
00187   SRB_GET_DATA_FORMAT,
00188   SRB_BEGIN_FLUSH,
00189   SRB_END_FLUSH,
00190 
00191   SRB_GET_STREAM_INFO = 0x100,
00192   SRB_OPEN_STREAM,
00193   SRB_CLOSE_STREAM,
00194   SRB_OPEN_DEVICE_INSTANCE,
00195   SRB_CLOSE_DEVICE_INSTANCE,
00196   SRB_GET_DEVICE_PROPERTY,
00197   SRB_SET_DEVICE_PROPERTY,
00198   SRB_INITIALIZE_DEVICE,
00199   SRB_CHANGE_POWER_STATE,
00200   SRB_UNINITIALIZE_DEVICE,
00201   SRB_UNKNOWN_DEVICE_COMMAND,
00202   SRB_PAGING_OUT_DRIVER,
00203   SRB_GET_DATA_INTERSECTION,
00204   SRB_INITIALIZATION_COMPLETE,
00205   SRB_SURPRISE_REMOVAL
00206 
00207 #if (NTDDI_VERSION >= NTDDI_WINXP)
00208  ,SRB_DEVICE_METHOD
00209  ,SRB_STREAM_METHOD
00210 #if ( (NTDDI_VERSION >= NTDDI_WINXPSP2) && (NTDDI_VERSION < NTDDI_WS03) ) || (NTDDI_VERSION >= NTDDI_WS03SP1)
00211  ,SRB_NOTIFY_IDLE_STATE
00212 #endif
00213 #endif
00214 } SRB_COMMAND;
00215 
00216 typedef struct {
00217   PHYSICAL_ADDRESS PhysicalAddress;
00218   ULONG Length;
00219 } KSSCATTER_GATHER, *PKSSCATTER_GATHER;
00220 
00221 
00222 typedef struct _HW_STREAM_REQUEST_BLOCK {
00223   ULONG SizeOfThisPacket;
00224   SRB_COMMAND Command;
00225   NTSTATUS Status;
00226   PHW_STREAM_OBJECT StreamObject;
00227   PVOID HwDeviceExtension;
00228   PVOID SRBExtension;
00229 
00230   union _CommandData {
00231     PKSSTREAM_HEADER DataBufferArray;
00232     PHW_STREAM_DESCRIPTOR StreamBuffer;
00233     KSSTATE StreamState;
00234     PSTREAM_TIME_REFERENCE TimeReference;
00235     PSTREAM_PROPERTY_DESCRIPTOR PropertyInfo;
00236     PKSDATAFORMAT OpenFormat;
00237     struct _PORT_CONFIGURATION_INFORMATION *ConfigInfo;
00238     HANDLE MasterClockHandle;
00239     DEVICE_POWER_STATE DeviceState;
00240     PSTREAM_DATA_INTERSECT_INFO IntersectInfo;
00241 
00242 #if (NTDDI_VERSION >= NTDDI_WINXP)
00243     PVOID MethodInfo;
00244     LONG FilterTypeIndex;
00245 #if ( (NTDDI_VERSION >= NTDDI_WINXPSP2) && (NTDDI_VERSION < NTDDI_WS03) ) || (NTDDI_VERSION >= NTDDI_WS03SP1)
00246     BOOLEAN Idle;
00247 #endif
00248 #endif
00249   } CommandData;
00250 
00251   ULONG NumberOfBuffers;
00252   ULONG TimeoutCounter;
00253   ULONG TimeoutOriginal;
00254   struct _HW_STREAM_REQUEST_BLOCK *NextSRB;
00255 
00256   PIRP Irp;
00257   ULONG Flags;
00258   PVOID HwInstanceExtension;
00259 
00260   __GNU_EXTENSION union {
00261     ULONG NumberOfBytesToTransfer;
00262     ULONG ActualBytesTransferred;
00263   };
00264 
00265   PKSSCATTER_GATHER ScatterGatherBuffer;
00266   ULONG NumberOfPhysicalPages;
00267   ULONG NumberOfScatterGatherElements;
00268   ULONG Reserved[1];
00269 } HW_STREAM_REQUEST_BLOCK, *PHW_STREAM_REQUEST_BLOCK;
00270 
00271 #define SRB_HW_FLAGS_DATA_TRANSFER  0x01
00272 #define SRB_HW_FLAGS_STREAM_REQUEST 0x2
00273 
00274 typedef enum {
00275   PerRequestExtension,
00276   DmaBuffer,
00277   SRBDataBuffer
00278 } STREAM_BUFFER_TYPE;
00279 
00280 typedef struct _ACCESS_RANGE {
00281   STREAM_PHYSICAL_ADDRESS RangeStart;
00282   ULONG RangeLength;
00283   BOOLEAN RangeInMemory;
00284   ULONG Reserved;
00285 } ACCESS_RANGE, *PACCESS_RANGE;
00286 
00287 typedef struct _PORT_CONFIGURATION_INFORMATION {
00288   ULONG SizeOfThisPacket;
00289   PVOID HwDeviceExtension;
00290   PDEVICE_OBJECT ClassDeviceObject;
00291   PDEVICE_OBJECT PhysicalDeviceObject;
00292   ULONG SystemIoBusNumber;
00293   INTERFACE_TYPE AdapterInterfaceType;
00294   ULONG BusInterruptLevel;
00295   ULONG BusInterruptVector;
00296   KINTERRUPT_MODE InterruptMode;
00297   ULONG DmaChannel;
00298   ULONG NumberOfAccessRanges;
00299   PACCESS_RANGE AccessRanges;
00300   ULONG StreamDescriptorSize;
00301   PIRP Irp;
00302   PKINTERRUPT InterruptObject;
00303   PADAPTER_OBJECT DmaAdapterObject;
00304   PDEVICE_OBJECT RealPhysicalDeviceObject;
00305   ULONG Reserved[1];
00306 } PORT_CONFIGURATION_INFORMATION, *PPORT_CONFIGURATION_INFORMATION;
00307 
00308 typedef VOID (STREAMAPI *PHW_RECEIVE_DEVICE_SRB) (IN PHW_STREAM_REQUEST_BLOCK SRB);
00309 typedef VOID (STREAMAPI *PHW_CANCEL_SRB) (IN PHW_STREAM_REQUEST_BLOCK SRB);
00310 typedef VOID (STREAMAPI *PHW_REQUEST_TIMEOUT_HANDLER) (IN PHW_STREAM_REQUEST_BLOCK SRB);
00311 typedef BOOLEAN (STREAMAPI *PHW_INTERRUPT) (IN PVOID DeviceExtension);
00312 typedef VOID (STREAMAPI *PHW_TIMER_ROUTINE) (IN PVOID Context);
00313 typedef VOID (STREAMAPI *PHW_PRIORITY_ROUTINE) (IN PVOID Context);
00314 typedef VOID (STREAMAPI *PHW_QUERY_CLOCK_ROUTINE) (IN PHW_TIME_CONTEXT TimeContext);
00315 typedef BOOLEAN (STREAMAPI *PHW_RESET_ADAPTER) (IN PVOID DeviceExtension);
00316 
00317 typedef enum _STREAM_MINIDRIVER_STREAM_NOTIFICATION_TYPE {
00318   ReadyForNextStreamDataRequest,
00319   ReadyForNextStreamControlRequest,
00320   HardwareStarved,
00321   StreamRequestComplete,
00322   SignalMultipleStreamEvents,
00323   SignalStreamEvent,
00324   DeleteStreamEvent,
00325   StreamNotificationMaximum
00326 } STREAM_MINIDRIVER_STREAM_NOTIFICATION_TYPE, *PSTREAM_MINIDRIVER_STREAM_NOTIFICATION_TYPE;
00327 
00328 typedef enum _STREAM_MINIDRIVER_DEVICE_NOTIFICATION_TYPE {
00329   ReadyForNextDeviceRequest,
00330   DeviceRequestComplete,
00331   SignalMultipleDeviceEvents,
00332   SignalDeviceEvent,
00333   DeleteDeviceEvent,
00334 #if (NTDDI_VERSION >= NTDDI_WINXP)
00335   SignalMultipleDeviceInstanceEvents,
00336 #endif
00337   DeviceNotificationMaximum
00338 } STREAM_MINIDRIVER_DEVICE_NOTIFICATION_TYPE, *PSTREAM_MINIDRIVER_DEVICE_NOTIFICATION_TYPE;
00339 
00340 #define STREAM_CLASS_VERSION_20 0x0200
00341 
00342 typedef struct _HW_INITIALIZATION_DATA {
00343 #if (NTDDI_VERSION >= NTDDI_WINXP)
00344   __GNU_EXTENSION union {
00345     ULONG HwInitializationDataSize;
00346     __GNU_EXTENSION struct {
00347       USHORT SizeOfThisPacket;
00348       USHORT StreamClassVersion;
00349     };
00350   };
00351 #else
00352   ULONG HwInitializationDataSize;
00353 #endif /* NTDDI_VERSION >= NTDDI_WINXP */
00354 
00355   PHW_INTERRUPT HwInterrupt;
00356   PHW_RECEIVE_DEVICE_SRB HwReceivePacket;
00357   PHW_CANCEL_SRB HwCancelPacket;
00358   PHW_REQUEST_TIMEOUT_HANDLER HwRequestTimeoutHandler;
00359   ULONG DeviceExtensionSize;
00360   ULONG PerRequestExtensionSize;
00361   ULONG PerStreamExtensionSize;
00362   ULONG FilterInstanceExtensionSize;
00363   BOOLEAN BusMasterDMA;
00364   BOOLEAN Dma24BitAddresses;
00365   ULONG BufferAlignment;
00366   BOOLEAN TurnOffSynchronization;
00367   ULONG DmaBufferSize;
00368 
00369 #if (NTDDI_VERSION >= NTDDI_WINXP)
00370   ULONG NumNameExtensions;
00371   PWCHAR *NameExtensionArray;
00372 #else
00373   ULONG Reserved[2];
00374 #endif
00375 } HW_INITIALIZATION_DATA, *PHW_INITIALIZATION_DATA;
00376 
00377 typedef enum _STREAM_PRIORITY {
00378   High,
00379   Dispatch,
00380   Low,
00381   LowToHigh
00382 } STREAM_PRIORITY, *PSTREAM_PRIORITY;
00383 
00384 
00385 VOID
00386 StreamClassAbortOutstandingRequests(
00387   IN PVOID HwDeviceExtension,
00388   IN PHW_STREAM_OBJECT HwStreamObject,
00389   IN NTSTATUS Status);
00390 
00391 VOID
00392 STREAMAPI 
00393 StreamClassCallAtNewPriority(
00394   IN PHW_STREAM_OBJECT StreamObject,
00395   IN PVOID HwDeviceExtension,
00396   IN STREAM_PRIORITY Priority,
00397   IN PHW_PRIORITY_ROUTINE PriorityRoutine,
00398   IN PVOID Context);
00399 
00400 VOID
00401 STREAMAPI
00402 StreamClassCompleteRequestAndMarkQueueReady(
00403   IN PHW_STREAM_REQUEST_BLOCK Srb);
00404 
00405 VOID
00406 STREAMAPI
00407 StreamClassDebugAssert(
00408   IN PCHAR File,
00409   IN ULONG Line,
00410   IN PCHAR AssertText,
00411   IN ULONG AssertValue);
00412 
00413 VOID
00414 __cdecl
00415 StreamClassDebugPrint(
00416   IN STREAM_DEBUG_LEVEL DebugPrintLevel,
00417   IN PCCHAR DebugMessage,
00418   ...);
00419 
00420 VOID
00421 __cdecl
00422 StreamClassDeviceNotification(
00423   IN STREAM_MINIDRIVER_DEVICE_NOTIFICATION_TYPE NotificationType,
00424   IN PVOID HwDeviceExtension,
00425   IN PHW_STREAM_REQUEST_BLOCK pSrb,
00426   IN PKSEVENT_ENTRY EventEntry,
00427   IN GUID *EventSet,
00428   IN ULONG EventId);
00429 
00430 VOID
00431 STREAMAPI
00432 StreamClassFilterReenumerateStreams(
00433   IN PVOID HwInstanceExtension,
00434   IN ULONG StreamDescriptorSize);
00435 
00436 PVOID
00437 STREAMAPI
00438 StreamClassGetDmaBuffer(
00439   IN PVOID HwDeviceExtension);
00440 
00441 
00442 PKSEVENT_ENTRY
00443 StreamClassGetNextEvent(
00444   IN PVOID HwInstanceExtension_OR_HwDeviceExtension,
00445   IN PHW_STREAM_OBJECT HwStreamObject,
00446   IN GUID * EventGuid,
00447   IN ULONG EventItem,
00448   IN PKSEVENT_ENTRY CurrentEvent);
00449 
00450 STREAM_PHYSICAL_ADDRESS
00451 STREAMAPI
00452 StreamClassGetPhysicalAddress(
00453   IN PVOID HwDeviceExtension,
00454   IN PHW_STREAM_REQUEST_BLOCK HwSRB,
00455   IN PVOID VirtualAddress,
00456   IN STREAM_BUFFER_TYPE Type,
00457   IN ULONG *Length);
00458 
00459 VOID
00460 StreamClassQueryMasterClock(
00461   IN PHW_STREAM_OBJECT HwStreamObject,
00462   IN HANDLE MasterClockHandle,
00463   IN TIME_FUNCTION TimeFunction,
00464   IN PHW_QUERY_CLOCK_ROUTINE ClockCallbackRoutine);
00465 
00466 VOID
00467 STREAMAPI
00468 StreamClassQueryMasterClockSync(
00469   IN HANDLE MasterClockHandle,
00470   IN PHW_TIME_CONTEXT TimeContext);
00471 
00472 BOOLEAN
00473 STREAMAPI
00474 StreamClassReadWriteConfig(
00475   IN PVOID HwDeviceExtension,
00476   IN BOOLEAN Read,
00477   IN PVOID Buffer,
00478   IN ULONG Offset,
00479   IN ULONG Length);
00480 
00481 VOID
00482 STREAMAPI
00483 StreamClassReenumerateStreams(
00484   IN PVOID HwDeviceExtension,
00485   IN ULONG StreamDescriptorSize);
00486 
00487 NTSTATUS
00488 STREAMAPI
00489 StreamClassRegisterAdapter(
00490   IN PVOID Argument1,
00491   IN PVOID Argument2,
00492   IN PHW_INITIALIZATION_DATA HwInitializationData);
00493 
00494 #define StreamClassRegisterMinidriver StreamClassRegisterAdapter
00495 
00496 NTSTATUS
00497 StreamClassRegisterFilterWithNoKSPins(
00498   IN PDEVICE_OBJECT DeviceObject,
00499   IN const GUID *InterfaceClassGUID,
00500   IN ULONG PinCount,
00501   IN BOOLEAN *PinDirection,
00502   IN KSPIN_MEDIUM *MediumList,
00503   IN GUID *CategoryList);
00504 
00505 VOID
00506 STREAMAPI
00507 StreamClassScheduleTimer(
00508   IN PHW_STREAM_OBJECT StreamObject,
00509   IN PVOID HwDeviceExtension,
00510   IN ULONG NumberOfMicroseconds,
00511   IN PHW_TIMER_ROUTINE TimerRoutine,
00512   IN PVOID Context);
00513 
00514 VOID
00515 __cdecl
00516 StreamClassStreamNotification(
00517   IN STREAM_MINIDRIVER_STREAM_NOTIFICATION_TYPE NotificationType,
00518   IN PHW_STREAM_OBJECT StreamObject,
00519   IN ...);
00520 
00521 #endif /* _STREAM_H */

Generated on Mon May 28 2012 04:30:08 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.