ReactOS 0.4.16-dev-303-g11d5cb8
kmixer.h File Reference
#include <portcls.h>
#include <float_cast.h>
Include dependency graph for kmixer.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  KMIXER_DEVICE_EXT
 
struct  SUM_NODE_CONTEXT
 

Macros

#define KeSaveFloatingPointState(x)   ((void)(x), STATUS_SUCCESS)
 
#define KeRestoreFloatingPointState(x)   ((void)0)
 

Typedefs

typedef struct KMIXER_DEVICE_EXTPKMIXER_DEVICE_EXT
 
typedef struct SUM_NODE_CONTEXTPSUM_NODE_CONTEXT
 

Functions

NTSTATUS NTAPI KMixAllocateDeviceHeader (IN PKMIXER_DEVICE_EXT DeviceExtension)
 
NTSTATUS CreatePin (IN PIRP Irp)
 

Macro Definition Documentation

◆ KeRestoreFloatingPointState

#define KeRestoreFloatingPointState (   x)    ((void)0)

Definition at line 33 of file kmixer.h.

◆ KeSaveFloatingPointState

#define KeSaveFloatingPointState (   x)    ((void)(x), STATUS_SUCCESS)

Definition at line 32 of file kmixer.h.

Typedef Documentation

◆ PKMIXER_DEVICE_EXT

◆ PSUM_NODE_CONTEXT

Function Documentation

◆ CreatePin()

NTSTATUS CreatePin ( IN PIRP  Irp)

Definition at line 699 of file pin.c.

701{
703 KSOBJECT_HEADER ObjectHeader;
705 PIO_STACK_LOCATION IoStack;
706
707
709 if (!DataFormat)
711
713
715 IoStack->FileObject->FsContext2 = (PVOID)DataFormat;
716
717 /* allocate object header */
718 Status = KsAllocateObjectHeader(&ObjectHeader, 0, NULL, Irp, &PinTable);
719 return Status;
720}
static PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(PIRP Irp)
LONG NTSTATUS
Definition: precomp.h:26
_In_ PIRP Irp
Definition: csq.h:116
#define NULL
Definition: types.h:112
KSDDKAPI NTSTATUS NTAPI KsAllocateObjectHeader(OUT KSOBJECT_HEADER *Header, IN ULONG ItemsCount, IN PKSOBJECT_CREATE_ITEM ItemsList OPTIONAL, IN PIRP Irp, IN KSDISPATCH_TABLE *Table)
Definition: api.c:610
static KSDISPATCH_TABLE PinTable
Definition: pin.c:684
#define NonPagedPool
Definition: env_spec_w32.h:307
#define ExAllocatePool(type, size)
Definition: fbtusb.h:44
Status
Definition: gdiplustypes.h:25
PFILE_OBJECT FileObject
Definition: iotypes.h:3169
void * PVOID
Definition: typedefs.h:50
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262
#define STATUS_INSUFFICIENT_RESOURCES
Definition: udferr_usr.h:158

Referenced by DispatchCreateKMixPin().

◆ KMixAllocateDeviceHeader()

NTSTATUS NTAPI KMixAllocateDeviceHeader ( IN PKMIXER_DEVICE_EXT  DeviceExtension)

Definition at line 179 of file filter.c.

181{
183 PKSOBJECT_CREATE_ITEM CreateItem;
184
185 /* allocate create item */
186 CreateItem = ExAllocatePool(NonPagedPool, sizeof(KSOBJECT_CREATE_ITEM) * 2);
187 if (!CreateItem)
189
190 /* initialize create item struct */
191 RtlZeroMemory(CreateItem, sizeof(KSOBJECT_CREATE_ITEM) * 2);
192 CreateItem[0].Create = DispatchCreateKMix;
193 RtlInitUnicodeString(&CreateItem[0].ObjectClass, L"GLOBAL");
194 CreateItem[1].Create = DispatchCreateKMix;
195 RtlInitUnicodeString(&CreateItem[1].ObjectClass, KSSTRING_Filter);
196
197 Status = KsAllocateDeviceHeader(&DeviceExtension->KsDeviceHeader,
198 2,
199 CreateItem);
200 return Status;
201}
KSDDKAPI NTSTATUS NTAPI KsAllocateDeviceHeader(OUT KSDEVICE_HEADER *OutHeader, IN ULONG ItemsCount, IN PKSOBJECT_CREATE_ITEM ItemsList OPTIONAL)
Definition: api.c:522
NTSTATUS NTAPI DispatchCreateKMix(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: filter.c:101
#define KSSTRING_Filter
Definition: ks.h:47
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
#define L(x)
Definition: ntvdm.h:50

Referenced by KMix_AddDevice().