ReactOS  0.4.14-dev-556-g4c5b21f
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 }
#define STATUS_INSUFFICIENT_RESOURCES
Definition: udferr_usr.h:158
_In_ PIRP Irp
Definition: csq.h:116
LONG NTSTATUS
Definition: precomp.h:26
smooth NULL
Definition: ftsmooth.c:416
void * PVOID
Definition: retypes.h:9
#define ExAllocatePool(type, size)
Definition: fbtusb.h:44
Status
Definition: gdiplustypes.h:24
static KSDISPATCH_TABLE PinTable
Definition: pin.c:684
__drv_aliasesMem FORCEINLINE PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(_In_ PIRP Irp)
Definition: iofuncs.h:2745
PFILE_OBJECT FileObject
Definition: iotypes.h:2813
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
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:261

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 }
#define STATUS_INSUFFICIENT_RESOURCES
Definition: udferr_usr.h:158
KSDDKAPI NTSTATUS NTAPI KsAllocateDeviceHeader(OUT KSDEVICE_HEADER *OutHeader, IN ULONG ItemsCount, IN PKSOBJECT_CREATE_ITEM ItemsList OPTIONAL)
Definition: api.c:522
LONG NTSTATUS
Definition: precomp.h:26
#define KSSTRING_Filter
Definition: ks.h:47
NTSTATUS NTAPI DispatchCreateKMix(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: filter.c:101
static const WCHAR L[]
Definition: oid.c:1250
#define ExAllocatePool(type, size)
Definition: fbtusb.h:44
Status
Definition: gdiplustypes.h:24
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:261

Referenced by KMix_AddDevice().