ReactOS 0.4.15-dev-7788-g1ad9096
version.cpp
Go to the documentation of this file.
1/*
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
7 */
8
9#include "private.hpp"
10
11#define NDEBUG
12#include <debug.h>
13
14class CPortClsVersion : public CUnknownImpl<IPortClsVersion>
15{
16public:
18
20
22 {
23 }
25 {
26
27 }
28};
29
30//---------------------------------------------------------------
31// IPortClsVersion interface functions
32//
33
37 IN REFIID refiid,
39{
41
42 if (IsEqualGUIDAligned(refiid, IID_IPortClsVersion) ||
44 {
46 PUNKNOWN(*Output)->AddRef();
47 return STATUS_SUCCESS;
48 }
49
51 {
52 DPRINT1("CPortClsVersion::QueryInterface no interface!!! iface %S\n", GuidString.Buffer);
54 }
55
57}
58
61CPortClsVersion::GetVersion()
62{
64}
65
67 OUT PPORTCLSVERSION * OutVersion)
68{
70
71 if (!This)
73
74 This->AddRef();
75
76 *OutVersion = (PPORTCLSVERSION)This;
77
78 return STATUS_SUCCESS;
79}
LONG NTSTATUS
Definition: precomp.h:26
#define DPRINT1
Definition: precomp.h:8
#define STDMETHODIMP
Definition: basetyps.h:43
const GUID IID_IUnknown
CPortClsVersion(IUnknown *OuterUnknown)
Definition: version.cpp:21
virtual ~CPortClsVersion()
Definition: version.cpp:24
STDMETHODIMP QueryInterface(REFIID InterfaceId, PVOID *Interface)
Definition: version.cpp:36
IUnknown * PUNKNOWN
Definition: com_apitest.h:45
#define NULL
Definition: types.h:112
NTSTATUS NewPortClsVersion(OUT PPORTCLSVERSION *OutVersion)
Definition: version.cpp:66
#define NonPagedPool
Definition: env_spec_w32.h:307
unsigned long DWORD
Definition: ntddk_ex.h:95
NTSYSAPI NTSTATUS WINAPI RtlStringFromGUID(REFGUID, PUNICODE_STRING)
ULONG AddRef()
static PWSTR GuidString
Definition: apphelp.c:93
NTSYSAPI VOID NTAPI RtlFreeUnicodeString(PUNICODE_STRING UnicodeString)
IPortClsVersion * PPORTCLSVERSION
Definition: portcls.h:2263
@ kVersionWinXP_UAAQFE
Definition: portcls.h:220
#define TAG_PORTCLASS
Definition: private.hpp:24
#define REFIID
Definition: guiddef.h:118
@ Output
Definition: arc.h:85
#define STATUS_SUCCESS
Definition: shellext.h:65
#define NTAPI
Definition: typedefs.h:36
void * PVOID
Definition: typedefs.h:50
#define IN
Definition: typedefs.h:39
#define OUT
Definition: typedefs.h:40
#define STATUS_UNSUCCESSFUL
Definition: udferr_usr.h:132
#define STATUS_INSUFFICIENT_RESOURCES
Definition: udferr_usr.h:158
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE Interface
Definition: wdffdo.h:465
#define IsEqualGUIDAligned(guid1, guid2)
Definition: wdm.template.h:235