20 PKSOBJECT_CREATE_ITEM ItemList;
25 if (!DriverObjectExtension)
162 if (!HwDeviceExtension || !StreamDescriptorSize)
166 if (!StreamDescriptor)
242 IN PCCHAR DebugMessage,
PDEVICE_OBJECT PhysicalDeviceObject
#define FILE_DEVICE_SECURE_OPEN
_In_z_ PCCHAR _In_ PDEVICE_OBJECT LowerDeviceObject
#define STATUS_NOT_SUPPORTED
#define NT_SUCCESS(StatCode)
VOID NTAPI KeInitializeDpc(IN PKDPC Dpc, IN PKDEFERRED_ROUTINE DeferredRoutine, IN PVOID DeferredContext)
KSDDKAPI NTSTATUS NTAPI KsAllocateDeviceHeader(OUT KSDEVICE_HEADER *OutHeader, IN ULONG ItemsCount, IN PKSOBJECT_CREATE_ITEM ItemsList OPTIONAL)
KSDDKAPI NTSTATUS NTAPI KsSetMajorFunctionHandler(IN PDRIVER_OBJECT DriverObject, IN ULONG MajorFunction)
KSDDKAPI VOID NTAPI KsNullDriverUnload(IN PDRIVER_OBJECT DriverObject)
NTSTATUS NTAPI StreamClassSystemControl(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
NTSTATUS NTAPI StreamClassCleanup(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
NTSTATUS NTAPI StreamClassFlushBuffers(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
NTSTATUS NTAPI StreamClassDeviceControl(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
NTSTATUS NTAPI StreamClassPower(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
NTSTATUS NTAPI StreamClassAddDevice(IN PDRIVER_OBJECT DriverObject, IN PDEVICE_OBJECT PhysicalDeviceObject)
PVOID STREAMAPI StreamClassGetDmaBuffer(IN PVOID HwDeviceExtension)
NTSTATUS STREAMAPI StreamClassRegisterAdapter(IN PVOID Argument1, IN PVOID Argument2, IN PHW_INITIALIZATION_DATA HwInitializationData)
BOOLEAN STREAMAPI StreamClassReadWriteConfig(IN PVOID HwDeviceExtension, IN BOOLEAN Read, IN PVOID Buffer, IN ULONG OffSet, IN ULONG Length)
VOID NTAPI StreamClassDebugAssert(IN PCHAR File, IN ULONG Line, IN PCHAR AssertText, IN ULONG AssertValue)
VOID __cdecl StreamClassDebugPrint(IN STREAM_DEBUG_LEVEL DebugPrintLevel, IN PCCHAR DebugMessage,...)
VOID NTAPI StreamClassReenumerateStreams(IN PVOID HwDeviceExtension, IN ULONG StreamDescriptorSize)
NTSTATUS NTAPI StreamClassRWCompletion(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context)
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)
NTSTATUS NTAPI StreamClassCreateFilter(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
NTSTATUS NTAPI StreamClassPnp(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
VOID NTAPI StreamClassInterruptDpc(IN PKDPC Dpc, IN PVOID DeferredContext, IN PVOID SystemArgument1, IN PVOID SystemArgument2)
#define STREAMDEBUG_LEVEL
struct HW_STREAM_REQUEST_BLOCK_EXT * PHW_STREAM_REQUEST_BLOCK_EXT
struct STREAM_DEVICE_EXTENSION * PSTREAM_DEVICE_EXTENSION
#define KeWaitForSingleObject(pEvt, foo, a, b, c)
#define KeInitializeEvent(pEvt, foo, foo2)
#define KeSetEvent(pEvt, foo, foo2)
struct _IO_STATUS_BLOCK * PIO_STATUS_BLOCK
#define InitializeListHead(ListHead)
#define ExAllocatePool(type, size)
NTSYSAPI void WINAPI DbgBreakPoint(void)
#define IoSetCompletionRoutine(_Irp, _CompletionRoutine, _Context, _InvokeOnSuccess, _InvokeOnError, _InvokeOnCancel)
struct _KSEVENT_ENTRY * PKSEVENT_ENTRY
static OUT PIO_STATUS_BLOCK IoStatusBlock
#define FILE_AUTOGENERATED_DEVICE_NAME
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
_In_ ULONG _In_ ULONG Offset
_In_ ULONG _In_ ULONG _In_ ULONG Length
PDEVICE_OBJECT NTAPI IoAttachDeviceToDeviceStack(IN PDEVICE_OBJECT SourceDevice, IN PDEVICE_OBJECT TargetDevice)
NTSTATUS NTAPI IoCreateDevice(IN PDRIVER_OBJECT DriverObject, IN ULONG DeviceExtensionSize, IN PUNICODE_STRING DeviceName, IN DEVICE_TYPE DeviceType, IN ULONG DeviceCharacteristics, IN BOOLEAN Exclusive, OUT PDEVICE_OBJECT *DeviceObject)
VOID NTAPI IoDetachDevice(IN PDEVICE_OBJECT TargetDevice)
VOID NTAPI IoDeleteDevice(IN PDEVICE_OBJECT DeviceObject)
PVOID NTAPI IoGetDriverObjectExtension(IN PDRIVER_OBJECT DriverObject, IN PVOID ClientIdentificationAddress)
NTSTATUS NTAPI IoAllocateDriverObjectExtension(IN PDRIVER_OBJECT DriverObject, IN PVOID ClientIdentificationAddress, IN ULONG DriverObjectExtensionSize, OUT PVOID *DriverObjectExtension)
PIRP NTAPI IoBuildSynchronousFsdRequest(IN ULONG MajorFunction, IN PDEVICE_OBJECT DeviceObject, IN PVOID Buffer, IN ULONG Length, IN PLARGE_INTEGER StartingOffset, IN PKEVENT Event, IN PIO_STATUS_BLOCK IoStatusBlock)
#define STATUS_DEVICE_DOES_NOT_EXIST
#define IRP_MJ_DEVICE_CONTROL
_Must_inspect_result_ _In_ PVOID _In_ struct _HW_INITIALIZATION_DATA * HwInitializationData
enum _STREAM_MINIDRIVER_DEVICE_NOTIFICATION_TYPE STREAM_MINIDRIVER_DEVICE_NOTIFICATION_TYPE
struct _HW_STREAM_REQUEST_BLOCK HW_STREAM_REQUEST_BLOCK
HW_STREAM_REQUEST_BLOCK Block
HW_INITIALIZATION_DATA Data
PSTREAM_CLASS_DRIVER_EXTENSION DriverExtension
PHW_STREAM_DESCRIPTOR StreamDescriptor
PDEVICE_OBJECT PhysicalDeviceObject
ULONG StreamDescriptorSize
PDEVICE_OBJECT LowerDeviceObject
LIST_ENTRY MemoryResourceList
PHW_RECEIVE_DEVICE_SRB HwReceivePacket
ULONG DeviceExtensionSize
union _HW_STREAM_REQUEST_BLOCK::_CommandData CommandData
#define RtlCopyMemory(Destination, Source, Length)
#define RtlZeroMemory(Destination, Length)
#define STATUS_UNSUCCESSFUL
#define STATUS_INSUFFICIENT_RESOURCES
PHW_STREAM_DESCRIPTOR StreamBuffer
_In_ PDEVICE_OBJECT DeviceObject
_In_ WDF_SPECIAL_FILE_TYPE NotificationType
_Must_inspect_result_ _In_ PDRIVER_OBJECT DriverObject
void int int ULONGLONG int va_list * ap
_IRQL_requires_same_ _In_opt_ PVOID Argument1
struct _DRIVER_OBJECT * PDRIVER_OBJECT
#define IRP_MJ_SYSTEM_CONTROL
#define IRP_MJ_FLUSH_BUFFERS