#include "sysaudio.h"
#include <debug.h>
Go to the source code of this file.
◆ NDEBUG
◆ Dispatch_fnClose()
Definition at line 37 of file dispatcher.c.
40{
42
44 Irp->IoStatus.Information = 0;
47}
#define IoCompleteRequest
_In_ PDEVICE_OBJECT DeviceObject
◆ Dispatch_fnDeviceIoControl()
Definition at line 16 of file dispatcher.c.
19{
21
24 {
26 }
27
28
30 Irp->IoStatus.Information = 0;
33}
static PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(PIRP Irp)
NTSTATUS SysAudioHandleProperty(PDEVICE_OBJECT DeviceObject, PIRP Irp)
#define IOCTL_KS_PROPERTY
struct _IO_STACK_LOCATION::@1575::@1576 DeviceIoControl
union _IO_STACK_LOCATION::@1575 Parameters
#define STATUS_UNSUCCESSFUL
◆ DispatchCreateSysAudio()
Definition at line 65 of file dispatcher.c.
68{
71 PKSOBJECT_CREATE_ITEM CreateItem;
72
73 DPRINT(
"DispatchCreateSysAudio entered\n");
74
75
77 if (!CreateItem)
78 {
79 Irp->IoStatus.Information = 0;
83 }
84
85
87
88
91
92
94
96
97 Irp->IoStatus.Information = 0;
101}
KSDDKAPI NTSTATUS NTAPI KsAllocateObjectHeader(OUT KSOBJECT_HEADER *Header, IN ULONG ItemsCount, IN PKSOBJECT_CREATE_ITEM ItemsList OPTIONAL, IN PIRP Irp, IN KSDISPATCH_TABLE *Table)
NTSTATUS NTAPI DispatchCreateSysAudioPin(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
PVOID AllocateItem(IN POOL_TYPE PoolType, IN SIZE_T NumberOfBytes)
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
#define RtlZeroMemory(Destination, Length)
#define STATUS_INSUFFICIENT_RESOURCES
_In_ PWDFDEVICE_INIT _In_ PWDF_PDO_EVENT_CALLBACKS DispatchTable
Referenced by SysAudioAllocateDeviceHeader().
◆ SysAudioAllocateDeviceHeader()
Definition at line 104 of file dispatcher.c.
106{
108 PKSOBJECT_CREATE_ITEM CreateItem;
109
110
112 if (!CreateItem)
114
115
118
119
120
121
123 CreateItem->Flags = KSCREATE_ITEM_WILDCARD;
124
126 1,
127 CreateItem);
129}
KSDDKAPI NTSTATUS NTAPI KsAllocateDeviceHeader(OUT KSDEVICE_HEADER *OutHeader, IN ULONG ItemsCount, IN PKSOBJECT_CREATE_ITEM ItemsList OPTIONAL)
NTSTATUS NTAPI DispatchCreateSysAudio(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Referenced by SysAudio_AddDevice().
◆ SysAudioOpenKMixer()
Definition at line 132 of file dispatcher.c.
134{
138
139 Status = ZwLoadDriver(&DevicePath);
140
142 {
143 Status =
OpenDevice(&DeviceInstanceName, &DeviceExtension->KMixerHandle, &DeviceExtension->KMixerFileObject);
145 {
146 DeviceExtension->KMixerHandle =
NULL;
147 DeviceExtension->KMixerFileObject =
NULL;
148 }
149 }
150
151 DPRINT(
"Status %lx KMixerHandle %p KMixerFileObject %p\n",
Status, DeviceExtension->KMixerHandle, DeviceExtension->KMixerFileObject);
153}
MMRESULT OpenDevice(DeviceInfo **private_data, MIDIOPENDESC *open_desc, DWORD flags)
#define NT_SUCCESS(StatCode)
#define RTL_CONSTANT_STRING(s)
Referenced by SysAudio_AddDevice().
◆ DispatchTable
Initial value:=
{
KsDispatchFastWriteFailure,
}
KSDDKAPI NTSTATUS NTAPI KsDispatchInvalidDeviceRequest(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
KSDDKAPI BOOLEAN NTAPI KsDispatchFastReadFailure(IN PFILE_OBJECT FileObject, IN PLARGE_INTEGER FileOffset, IN ULONG Length, IN BOOLEAN Wait, IN ULONG LockKey, OUT PVOID Buffer, OUT PIO_STATUS_BLOCK IoStatus, IN PDEVICE_OBJECT DeviceObject)
KSDDKAPI BOOLEAN NTAPI KsDispatchFastIoDeviceControlFailure(IN PFILE_OBJECT FileObject, IN BOOLEAN Wait, IN PVOID InputBuffer OPTIONAL, IN ULONG InputBufferLength, OUT PVOID OutputBuffer OPTIONAL, IN ULONG OutputBufferLength, IN ULONG IoControlCode, OUT PIO_STATUS_BLOCK IoStatus, IN PDEVICE_OBJECT DeviceObject)
NTSTATUS NTAPI Dispatch_fnDeviceIoControl(PDEVICE_OBJECT DeviceObject, PIRP Irp)
NTSTATUS NTAPI Dispatch_fnClose(PDEVICE_OBJECT DeviceObject, PIRP Irp)
Definition at line 49 of file dispatcher.c.