2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS Kernel Streaming
4 * FILE: drivers/wdm/audio/backpln/portcls/version.cpp
5 * PURPOSE: Implements IPortClsVersion interface
6 * PROGRAMMER: Johannes Anderwald
10 #include "private.hpp"
13 class CPortClsVersion
: public IPortClsVersion
16 STDMETHODIMP
QueryInterface( REFIID InterfaceId
, PVOID
* Interface
);
18 STDMETHODIMP_(ULONG
) AddRef()
20 InterlockedIncrement(&m_Ref
);
23 STDMETHODIMP_(ULONG
) Release()
25 InterlockedDecrement(&m_Ref
);
37 CPortClsVersion(IUnknown
*OuterUnknown
)
41 virtual ~CPortClsVersion()
53 //---------------------------------------------------------------
54 // IPortClsVersion interface functions
59 CPortClsVersion::QueryInterface(
63 if (IsEqualGUIDAligned(refiid
, IID_IPortClsVersion
) ||
64 IsEqualGUIDAligned(refiid
, IID_IUnknown
))
66 *Output
= PVOID(PPORTCLSVERSION(this));
67 PUNKNOWN(*Output
)->AddRef();
68 return STATUS_SUCCESS
;
70 return STATUS_UNSUCCESSFUL
;
75 CPortClsVersion::GetVersion()
77 return kVersionWinXP_UAAQFE
;
80 NTSTATUS
NewPortClsVersion(
81 OUT PPORTCLSVERSION
* OutVersion
)
83 CPortClsVersion
* This
= new(NonPagedPool
, TAG_PORTCLASS
) CPortClsVersion(NULL
);
86 return STATUS_INSUFFICIENT_RESOURCES
;
90 *OutVersion
= (PPORTCLSVERSION
)This
;
92 return STATUS_SUCCESS
;