* Annotate strmini.h.

svn path=/trunk/; revision=59620
This commit is contained in:
Amine Khaldi 2013-08-02 23:39:54 +00:00
parent 1b6aa1d473
commit 731b7205e3

View file

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