Author: akhaldi
Date: Fri Aug 2 23:39:54 2013
New Revision: 59620
URL:
http://svn.reactos.org/svn/reactos?rev=59620&view=rev
Log:
[DDK]
* Annotate strmini.h.
Modified:
trunk/reactos/include/ddk/strmini.h
Modified: trunk/reactos/include/ddk/strmini.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ddk/strmini.h?rev=…
==============================================================================
--- trunk/reactos/include/ddk/strmini.h [iso-8859-1] (original)
+++ trunk/reactos/include/ddk/strmini.h [iso-8859-1] Fri Aug 2 23:39:54 2013
@@ -117,16 +117,16 @@
KSPIN_DATAFLOW DataFlow;
BOOLEAN DataAccessible;
ULONG NumberOfFormatArrayEntries;
- PKSDATAFORMAT* StreamFormatsArray;
+ _Field_size_(NumberOfFormatArrayEntries) PKSDATAFORMAT* StreamFormatsArray;
PVOID ClassReserved[4];
ULONG NumStreamPropArrayEntries;
- PKSPROPERTY_SET StreamPropertiesArray;
+ _Field_size_(NumStreamPropArrayEntries) PKSPROPERTY_SET StreamPropertiesArray;
ULONG NumStreamEventArrayEntries;
- PKSEVENT_SET StreamEventsArray;
+ _Field_size_(NumStreamEventArrayEntries) PKSEVENT_SET StreamEventsArray;
GUID* Category;
GUID* Name;
ULONG MediumsCount;
- const KSPIN_MEDIUM* Mediums;
+ _Field_size_(MediumsCount) const KSPIN_MEDIUM* Mediums;
BOOLEAN BridgeStream;
ULONG Reserved[2];
} HW_STREAM_INFORMATION, *PHW_STREAM_INFORMATION;
@@ -146,7 +146,7 @@
typedef struct _STREAM_DATA_INTERSECT_INFO {
ULONG StreamNumber;
PKSDATARANGE DataRange;
- PVOID DataFormatBuffer;
+ _Field_size_bytes_(SizeOfDataFormatBuffer) PVOID DataFormatBuffer;
ULONG SizeOfDataFormatBuffer;
} STREAM_DATA_INTERSECT_INFO, *PSTREAM_DATA_INTERSECT_INFO;
@@ -228,7 +228,7 @@
PVOID SRBExtension;
union _CommandData {
- PKSSTREAM_HEADER DataBufferArray;
+ _Field_size_(_Inexpressible_(NumberOfBuffers)) PKSSTREAM_HEADER DataBufferArray;
PHW_STREAM_DESCRIPTOR StreamBuffer;
KSSTATE StreamState;
PSTREAM_TIME_REFERENCE TimeReference;
@@ -262,7 +262,7 @@
ULONG ActualBytesTransferred;
};
- PKSSCATTER_GATHER ScatterGatherBuffer;
+ _Field_size_(NumberOfScatterGatherElements) PKSSCATTER_GATHER ScatterGatherBuffer;
ULONG NumberOfPhysicalPages;
ULONG NumberOfScatterGatherElements;
ULONG Reserved[1];
@@ -278,7 +278,7 @@
} STREAM_BUFFER_TYPE;
typedef struct _ACCESS_RANGE {
- STREAM_PHYSICAL_ADDRESS RangeStart;
+ _Field_size_bytes_(RangeLength) STREAM_PHYSICAL_ADDRESS RangeStart;
ULONG RangeLength;
BOOLEAN RangeInMemory;
ULONG Reserved;
@@ -296,7 +296,7 @@
KINTERRUPT_MODE InterruptMode;
ULONG DmaChannel;
ULONG NumberOfAccessRanges;
- PACCESS_RANGE AccessRanges;
+ _Field_size_(NumberOfAccessRanges) PACCESS_RANGE AccessRanges;
ULONG StreamDescriptorSize;
PIRP Irp;
PKINTERRUPT InterruptObject;
@@ -368,7 +368,7 @@
#if (NTDDI_VERSION >= NTDDI_WINXP)
ULONG NumNameExtensions;
- PWCHAR *NameExtensionArray;
+ _Field_size_(NumNameExtensions) PWCHAR *NameExtensionArray;
#else
ULONG Reserved[2];
#endif
@@ -384,37 +384,38 @@
VOID
StreamClassAbortOutstandingRequests(
- IN PVOID HwDeviceExtension,
- IN PHW_STREAM_OBJECT HwStreamObject,
- IN NTSTATUS Status);
-
-VOID
-STREAMAPI
+ _In_ PVOID HwDeviceExtension,
+ _In_opt_ PHW_STREAM_OBJECT HwStreamObject,
+ _In_ NTSTATUS Status);
+
+VOID
+STREAMAPI
StreamClassCallAtNewPriority(
- IN PHW_STREAM_OBJECT StreamObject,
- IN PVOID HwDeviceExtension,
- IN STREAM_PRIORITY Priority,
- IN PHW_PRIORITY_ROUTINE PriorityRoutine,
- IN PVOID Context);
+ _In_opt_ PHW_STREAM_OBJECT StreamObject,
+ _In_ PVOID HwDeviceExtension,
+ _In_ STREAM_PRIORITY Priority,
+ _In_ PHW_PRIORITY_ROUTINE PriorityRoutine,
+ _In_ PVOID Context);
VOID
STREAMAPI
StreamClassCompleteRequestAndMarkQueueReady(
- IN PHW_STREAM_REQUEST_BLOCK Srb);
-
+ _In_ PHW_STREAM_REQUEST_BLOCK Srb);
+
+__analysis_noreturn
VOID
STREAMAPI
StreamClassDebugAssert(
- IN PCHAR File,
- IN ULONG Line,
- IN PCHAR AssertText,
- IN ULONG AssertValue);
+ _In_ PCHAR File,
+ _In_ ULONG Line,
+ _In_ PCHAR AssertText,
+ _In_ ULONG AssertValue);
VOID
__cdecl
StreamClassDebugPrint(
- IN STREAM_DEBUG_LEVEL DebugPrintLevel,
- IN PCCHAR DebugMessage,
+ _In_ STREAM_DEBUG_LEVEL DebugPrintLevel,
+ _In_ PCCHAR DebugMessage,
...);
VOID
@@ -430,92 +431,96 @@
VOID
STREAMAPI
StreamClassFilterReenumerateStreams(
- IN PVOID HwInstanceExtension,
- IN ULONG StreamDescriptorSize);
+ _In_ PVOID HwInstanceExtension,
+ _In_ ULONG StreamDescriptorSize);
PVOID
STREAMAPI
StreamClassGetDmaBuffer(
- IN PVOID HwDeviceExtension);
+ _In_ PVOID HwDeviceExtension);
PKSEVENT_ENTRY
StreamClassGetNextEvent(
- IN PVOID HwInstanceExtension_OR_HwDeviceExtension,
- IN PHW_STREAM_OBJECT HwStreamObject,
- IN GUID * EventGuid,
- IN ULONG EventItem,
- IN PKSEVENT_ENTRY CurrentEvent);
+ _In_opt_ PVOID HwInstanceExtension_OR_HwDeviceExtension,
+ _In_opt_ PHW_STREAM_OBJECT HwStreamObject,
+ _In_opt_ GUID *EventGuid,
+ _In_ ULONG EventItem,
+ _In_opt_ PKSEVENT_ENTRY CurrentEvent);
STREAM_PHYSICAL_ADDRESS
STREAMAPI
StreamClassGetPhysicalAddress(
- IN PVOID HwDeviceExtension,
- IN PHW_STREAM_REQUEST_BLOCK HwSRB,
- IN PVOID VirtualAddress,
- IN STREAM_BUFFER_TYPE Type,
- IN ULONG *Length);
+ _In_ PVOID HwDeviceExtension,
+ _In_opt_ PHW_STREAM_REQUEST_BLOCK HwSRB,
+ _In_ PVOID VirtualAddress,
+ _In_ STREAM_BUFFER_TYPE Type,
+ _Out_ ULONG *Length);
VOID
StreamClassQueryMasterClock(
- IN PHW_STREAM_OBJECT HwStreamObject,
- IN HANDLE MasterClockHandle,
- IN TIME_FUNCTION TimeFunction,
- IN PHW_QUERY_CLOCK_ROUTINE ClockCallbackRoutine);
-
+ _In_ PHW_STREAM_OBJECT HwStreamObject,
+ _In_ HANDLE MasterClockHandle,
+ _In_ TIME_FUNCTION TimeFunction,
+ _In_ PHW_QUERY_CLOCK_ROUTINE ClockCallbackRoutine);
+
+_IRQL_requires_max_(DISPATCH_LEVEL)
VOID
STREAMAPI
StreamClassQueryMasterClockSync(
- IN HANDLE MasterClockHandle,
- IN PHW_TIME_CONTEXT TimeContext);
-
+ _In_ HANDLE MasterClockHandle,
+ _Inout_ PHW_TIME_CONTEXT TimeContext);
+
+_IRQL_requires_max_(PASSIVE_LEVEL)
BOOLEAN
STREAMAPI
StreamClassReadWriteConfig(
- IN PVOID HwDeviceExtension,
- IN BOOLEAN Read,
- IN PVOID Buffer,
- IN ULONG Offset,
- IN ULONG Length);
+ _In_ PVOID HwDeviceExtension,
+ _In_ BOOLEAN Read,
+ _Inout_updates_bytes_(Length) PVOID Buffer,
+ _In_ ULONG Offset,
+ _In_ ULONG Length);
VOID
STREAMAPI
StreamClassReenumerateStreams(
- IN PVOID HwDeviceExtension,
- IN ULONG StreamDescriptorSize);
-
+ _In_ PVOID HwDeviceExtension,
+ _In_ ULONG StreamDescriptorSize);
+
+_IRQL_requires_max_(PASSIVE_LEVEL)
NTSTATUS
STREAMAPI
StreamClassRegisterAdapter(
- IN PVOID Argument1,
- IN PVOID Argument2,
- IN PHW_INITIALIZATION_DATA HwInitializationData);
+ _In_ PVOID Argument1,
+ _In_ PVOID Argument2,
+ _In_ PHW_INITIALIZATION_DATA HwInitializationData);
#define StreamClassRegisterMinidriver StreamClassRegisterAdapter
+_IRQL_requires_max_(APC_LEVEL)
NTSTATUS
StreamClassRegisterFilterWithNoKSPins(
- IN PDEVICE_OBJECT DeviceObject,
- IN const GUID *InterfaceClassGUID,
- IN ULONG PinCount,
- IN BOOLEAN *PinDirection,
- IN KSPIN_MEDIUM *MediumList,
- IN GUID *CategoryList);
+ _In_ PDEVICE_OBJECT DeviceObject,
+ _In_ const GUID *InterfaceClassGUID,
+ _In_ ULONG PinCount,
+ _In_reads_(PinCount) BOOL *PinDirection,
+ _In_reads_(PinCount) KSPIN_MEDIUM *MediumList,
+ _In_reads_opt_(PinCount) GUID *CategoryList);
VOID
STREAMAPI
StreamClassScheduleTimer(
- IN PHW_STREAM_OBJECT StreamObject,
- IN PVOID HwDeviceExtension,
- IN ULONG NumberOfMicroseconds,
- IN PHW_TIMER_ROUTINE TimerRoutine,
- IN PVOID Context);
+ _In_opt_ PHW_STREAM_OBJECT StreamObject,
+ _In_ PVOID HwDeviceExtension,
+ _In_ ULONG NumberOfMicroseconds,
+ _In_ PHW_TIMER_ROUTINE TimerRoutine,
+ _In_ PVOID Context);
VOID
__cdecl
StreamClassStreamNotification(
- IN STREAM_MINIDRIVER_STREAM_NOTIFICATION_TYPE NotificationType,
- IN PHW_STREAM_OBJECT StreamObject,
- IN ...);
+ _In_ STREAM_MINIDRIVER_STREAM_NOTIFICATION_TYPE NotificationType,
+ _In_ PHW_STREAM_OBJECT StreamObject,
+ ...);
#endif /* _STREAM_H */