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

Public Member Functions

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

Public Attributes

 IMP_IPortFilterWaveRT
 

Protected Attributes

IPortWaveRT * m_Port
 
IPortPinWaveRT ** m_Pins
 
SUBDEVICE_DESCRIPTORm_Descriptor
 
LONG m_Ref
 

Detailed Description

Definition at line 17 of file filter_wavert.cpp.

Constructor & Destructor Documentation

◆ CPortFilterWaveRT()

CPortFilterWaveRT::CPortFilterWaveRT ( IUnknown OuterUnknown)
inline

Definition at line 39 of file filter_wavert.cpp.

39 {}

◆ ~CPortFilterWaveRT()

virtual CPortFilterWaveRT::~CPortFilterWaveRT ( )
inlinevirtual

Definition at line 40 of file filter_wavert.cpp.

40 {}

Member Function Documentation

◆ QueryInterface()

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

Definition at line 53 of file filter_wavert.cpp.

56 {
57  if (IsEqualGUIDAligned(refiid, IID_IIrpTarget) ||
59  {
60  *Output = PVOID(PUNKNOWN(this));
61  PUNKNOWN(*Output)->AddRef();
62  return STATUS_SUCCESS;
63  }
64  else if (IsEqualGUIDAligned(refiid, IID_IPort))
65  {
67  PUNKNOWN(*Output)->AddRef();
68  return STATUS_SUCCESS;
69  }
70 
71  return STATUS_UNSUCCESSFUL;
72 }
IPortWaveRT * m_Port
IUnknown * PUNKNOWN
Definition: com_apitest.h:45
#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]

CPortFilterWaveRT::STDMETHODIMP_ ( ULONG  )
inline

Definition at line 22 of file filter_wavert.cpp.

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

◆ STDMETHODIMP_() [2/2]

CPortFilterWaveRT::STDMETHODIMP_ ( ULONG  )
inline

Definition at line 27 of file filter_wavert.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_IPortFilterWaveRT

CPortFilterWaveRT::IMP_IPortFilterWaveRT

Definition at line 38 of file filter_wavert.cpp.

◆ m_Descriptor

SUBDEVICE_DESCRIPTOR* CPortFilterWaveRT::m_Descriptor
protected

Definition at line 47 of file filter_wavert.cpp.

◆ m_Pins

IPortPinWaveRT** CPortFilterWaveRT::m_Pins
protected

Definition at line 46 of file filter_wavert.cpp.

◆ m_Port

IPortWaveRT* CPortFilterWaveRT::m_Port
protected

Definition at line 45 of file filter_wavert.cpp.

Referenced by QueryInterface().

◆ m_Ref

LONG CPortFilterWaveRT::m_Ref
protected

Definition at line 48 of file filter_wavert.cpp.

Referenced by STDMETHODIMP_().


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