2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS Kernel Streaming
4 * FILE: drivers/wdm/audio/backpln/portcls/miniport_dmus.cpp
5 * PURPOSE: DirectMusic miniport
6 * PROGRAMMER: Johannes Anderwald
11 class CMiniportDMus
: public IMiniportDMus
14 STDMETHODIMP
QueryInterface( REFIID InterfaceId
, PVOID
* Interface
);
16 STDMETHODIMP_(ULONG
) AddRef()
18 InterlockedIncrement(&m_Ref
);
21 STDMETHODIMP_(ULONG
) Release()
23 InterlockedDecrement(&m_Ref
);
33 CMiniportDMus(IUnknown
*OuterUnknown
){}
34 virtual ~CMiniportDMus(){}
45 CMiniportDMus::QueryInterface(
49 if (IsEqualGUIDAligned(refiid
, IID_IMiniportDMus
))
51 *Output
= PVOID(PUNKNOWN(this));
52 PUNKNOWN(*Output
)->AddRef();
53 return STATUS_SUCCESS
;
55 return STATUS_UNSUCCESSFUL
;
62 CMiniportDMus::DataRangeIntersection(
64 IN PKSDATARANGE DataRange
,
65 IN PKSDATARANGE MatchingDataRange
,
66 IN ULONG OutputBufferLength
,
67 OUT PVOID ResultantFormat OPTIONAL
,
68 OUT PULONG ResultantFormatLength
)
70 return STATUS_UNSUCCESSFUL
;
75 CMiniportDMus::GetDescription(
76 OUT PPCFILTER_DESCRIPTOR
*Description
)
78 return STATUS_UNSUCCESSFUL
;
84 IN PUNKNOWN pUnknownAdapter
,
85 IN PRESOURCELIST pResourceList
,
87 OUT PSERVICEGROUP
*ppServiceGroup
90 return STATUS_UNSUCCESSFUL
;
95 CMiniportDMus::NewStream(
97 IN PUNKNOWN pOuterUnknown OPTIONAL
,
98 IN POOL_TYPE PoolType
,
100 IN DMUS_STREAM_TYPE StreamType
,
101 IN PKSDATAFORMAT pDataFormat
,
102 OUT PSERVICEGROUP
*ppServiceGroup
,
103 IN PAllocatorMXF pAllocatorMXF
,
104 IN PMASTERCLOCK pMasterClock
,
105 OUT PULONGLONG puuSchedulePreFetch
108 return STATUS_UNSUCCESSFUL
;
113 CMiniportDMus::Service()
120 OUT PMINIPORT
* OutMiniport
,
123 CMiniportDMus
* This
;
125 This
= new(NonPagedPool
, TAG_PORTCLASS
)CMiniportDMus(NULL
);
127 return STATUS_INSUFFICIENT_RESOURCES
;
129 *OutMiniport
= (PMINIPORT
)This
;
132 return STATUS_SUCCESS
;