ReactOS  0.4.13-dev-544-gede3fdd
CPortFilterDMus Class Reference
Inheritance diagram for CPortFilterDMus:
Collaboration diagram for CPortFilterDMus:

Public Member Functions

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

Public Attributes

 IMP_IPortFilterDMus
 

Protected Attributes

IPortDMus * m_Port
 
IPortPinDMus ** m_Pins
 
SUBDEVICE_DESCRIPTORm_Descriptor
 
LONG m_Ref
 

Detailed Description

Definition at line 17 of file filter_dmus.cpp.

Constructor & Destructor Documentation

◆ CPortFilterDMus()

CPortFilterDMus::CPortFilterDMus ( IUnknown OuterUnknown)
inline

Definition at line 39 of file filter_dmus.cpp.

39 {}

◆ ~CPortFilterDMus()

virtual CPortFilterDMus::~CPortFilterDMus ( )
inlinevirtual

Definition at line 40 of file filter_dmus.cpp.

40 {}

Member Function Documentation

◆ QueryInterface()

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

Definition at line 51 of file filter_dmus.cpp.

54 {
55 
56  if (IsEqualGUIDAligned(refiid, IID_IIrpTarget) ||
58  {
59  *Output = PVOID(PUNKNOWN(this));
60  PUNKNOWN(*Output)->AddRef();
61  return STATUS_SUCCESS;
62  }
63  else if (IsEqualGUIDAligned(refiid, IID_IPort))
64  {
66  PUNKNOWN(*Output)->AddRef();
67  return STATUS_SUCCESS;
68  }
69 
70  return STATUS_UNSUCCESSFUL;
71 }
IUnknown * PUNKNOWN
Definition: com_apitest.h:45
IPortDMus * m_Port
Definition: filter_dmus.cpp:43
#define IsEqualGUIDAligned(guid1, guid2)
Definition: wdm.template.h:233
void * PVOID
Definition: retypes.h:9
const GUID IID_IUnknown
ULONG AddRef()
#define STATUS_UNSUCCESSFUL
Definition: udferr_usr.h:132
Definition: arc.h:85
return STATUS_SUCCESS
Definition: btrfs.c:2777

◆ STDMETHODIMP_() [1/2]

CPortFilterDMus::STDMETHODIMP_ ( ULONG  )
inline

Definition at line 22 of file filter_dmus.cpp.

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

◆ STDMETHODIMP_() [2/2]

CPortFilterDMus::STDMETHODIMP_ ( ULONG  )
inline

Definition at line 27 of file filter_dmus.cpp.

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

Member Data Documentation

◆ IMP_IPortFilterDMus

CPortFilterDMus::IMP_IPortFilterDMus

Definition at line 38 of file filter_dmus.cpp.

◆ m_Descriptor

SUBDEVICE_DESCRIPTOR* CPortFilterDMus::m_Descriptor
protected

Definition at line 45 of file filter_dmus.cpp.

◆ m_Pins

IPortPinDMus** CPortFilterDMus::m_Pins
protected

Definition at line 44 of file filter_dmus.cpp.

◆ m_Port

IPortDMus* CPortFilterDMus::m_Port
protected

Definition at line 43 of file filter_dmus.cpp.

Referenced by QueryInterface().

◆ m_Ref

LONG CPortFilterDMus::m_Ref
protected

Definition at line 46 of file filter_dmus.cpp.

Referenced by STDMETHODIMP_().


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