ReactOS  0.4.14-dev-77-gd9e7c48
CPortFilterWavePci Class Reference
Inheritance diagram for CPortFilterWavePci:
Collaboration diagram for CPortFilterWavePci:

Public Member Functions

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

Public Attributes

 IMP_IPortFilterPci
 

Protected Attributes

IPortWavePci * m_Port
 
IPortPinWavePci ** m_Pins
 
SUBDEVICE_DESCRIPTORm_Descriptor
 
LONG m_Ref
 

Detailed Description

Definition at line 17 of file filter_wavepci.cpp.

Constructor & Destructor Documentation

◆ CPortFilterWavePci()

CPortFilterWavePci::CPortFilterWavePci ( IUnknown OuterUnknown)
inline

Definition at line 39 of file filter_wavepci.cpp.

39 {}

◆ ~CPortFilterWavePci()

virtual CPortFilterWavePci::~CPortFilterWavePci ( )
inlinevirtual

Definition at line 40 of file filter_wavepci.cpp.

40 {}

Member Function Documentation

◆ QueryInterface()

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

Definition at line 52 of file filter_wavepci.cpp.

56 {
57 
58  if (IsEqualGUIDAligned(refiid, IID_IIrpTarget) ||
60  {
61  *Output = PVOID(PUNKNOWN(this));
62  PUNKNOWN(*Output)->AddRef();
63  return STATUS_SUCCESS;
64  }
65  else if (IsEqualGUIDAligned(refiid, IID_IPort))
66  {
68  PUNKNOWN(*Output)->AddRef();
69  return STATUS_SUCCESS;
70  }
71 
72  return STATUS_UNSUCCESSFUL;
73 }
IUnknown * PUNKNOWN
Definition: com_apitest.h:45
#define IsEqualGUIDAligned(guid1, guid2)
Definition: wdm.template.h:233
IPortWavePci * m_Port
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:2966

◆ STDMETHODIMP_() [1/2]

CPortFilterWavePci::STDMETHODIMP_ ( ULONG  )
inline

Definition at line 22 of file filter_wavepci.cpp.

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

◆ STDMETHODIMP_() [2/2]

CPortFilterWavePci::STDMETHODIMP_ ( ULONG  )
inline

Definition at line 27 of file filter_wavepci.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_IPortFilterPci

CPortFilterWavePci::IMP_IPortFilterPci

Definition at line 38 of file filter_wavepci.cpp.

◆ m_Descriptor

SUBDEVICE_DESCRIPTOR* CPortFilterWavePci::m_Descriptor
protected

Definition at line 45 of file filter_wavepci.cpp.

◆ m_Pins

IPortPinWavePci** CPortFilterWavePci::m_Pins
protected

Definition at line 44 of file filter_wavepci.cpp.

◆ m_Port

IPortWavePci* CPortFilterWavePci::m_Port
protected

Definition at line 43 of file filter_wavepci.cpp.

Referenced by QueryInterface().

◆ m_Ref

LONG CPortFilterWavePci::m_Ref
protected

Definition at line 47 of file filter_wavepci.cpp.

Referenced by STDMETHODIMP_().


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