ReactOS  0.4.13-dev-551-gf37fb1f
CDrmPort2 Class Reference
Inheritance diagram for CDrmPort2:
Collaboration diagram for CDrmPort2:

Public Member Functions

STDMETHODIMP QueryInterface (REFIID InterfaceId, PVOID *Interface)
 
 STDMETHODIMP_ (ULONG) AddRef()
 
 STDMETHODIMP_ (ULONG) Release()
 
 CDrmPort2 (IUnknown *OuterUnknown)
 
virtual ~CDrmPort2 ()
 

Public Attributes

 IMP_IDrmPort2
 

Protected Attributes

LONG m_Ref
 

Detailed Description

Definition at line 17 of file drm_port.cpp.

Constructor & Destructor Documentation

◆ CDrmPort2()

CDrmPort2::CDrmPort2 ( IUnknown OuterUnknown)
inline

Definition at line 39 of file drm_port.cpp.

39 {}

◆ ~CDrmPort2()

virtual CDrmPort2::~CDrmPort2 ( )
inlinevirtual

Definition at line 40 of file drm_port.cpp.

40 {}

Member Function Documentation

◆ QueryInterface()

NTSTATUS NTAPI CDrmPort2::QueryInterface ( REFIID  InterfaceId,
PVOID Interface 
)

Definition at line 49 of file drm_port.cpp.

52 {
54 
55  if (IsEqualGUIDAligned(refiid, IID_IDrmPort) ||
56  IsEqualGUIDAligned(refiid, IID_IDrmPort2) ||
58  {
59  *Output = PVOID(PUNKNOWN(this));
60  PUNKNOWN(*Output)->AddRef();
61  return STATUS_SUCCESS;
62  }
63 
65  {
66  DPRINT("IDrmPort2_QueryInterface no interface!!! iface %S\n", GuidString.Buffer);
68  }
69  return STATUS_UNSUCCESSFUL;
70 }
static PWSTR GuidString
Definition: apphelp.c:91
IUnknown * PUNKNOWN
Definition: com_apitest.h:45
#define IsEqualGUIDAligned(guid1, guid2)
Definition: wdm.template.h:233
void DPRINT(...)
Definition: polytest.cpp:61
void * PVOID
Definition: retypes.h:9
const GUID IID_IUnknown
NTSYSAPI VOID NTAPI RtlFreeUnicodeString(PUNICODE_STRING UnicodeString)
ULONG AddRef()
#define STATUS_UNSUCCESSFUL
Definition: udferr_usr.h:132
Definition: arc.h:85
NTSYSAPI NTSTATUS WINAPI RtlStringFromGUID(REFGUID, PUNICODE_STRING)
return STATUS_SUCCESS
Definition: btrfs.c:2777

◆ STDMETHODIMP_() [1/2]

CDrmPort2::STDMETHODIMP_ ( ULONG  )
inline

Definition at line 22 of file drm_port.cpp.

23  {
25  return m_Ref;
26  }
LONG m_Ref
Definition: drm_port.cpp:43
#define InterlockedIncrement
Definition: armddk.h:53

◆ STDMETHODIMP_() [2/2]

CDrmPort2::STDMETHODIMP_ ( ULONG  )
inline

Definition at line 27 of file drm_port.cpp.

28  {
30 
31  if (!m_Ref)
32  {
33  delete this;
34  return 0;
35  }
36  return m_Ref;
37  }
LONG m_Ref
Definition: drm_port.cpp:43
#define InterlockedDecrement
Definition: armddk.h:52

Member Data Documentation

◆ IMP_IDrmPort2

CDrmPort2::IMP_IDrmPort2

Definition at line 38 of file drm_port.cpp.

◆ m_Ref

LONG CDrmPort2::m_Ref
protected

Definition at line 43 of file drm_port.cpp.

Referenced by STDMETHODIMP_().


The documentation for this class was generated from the following file: