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

Public Member Functions

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

Public Attributes

 IMP_IPortFilterWaveCyclic
 

Protected Attributes

IPortWaveCyclic * m_Port
 
IPortPinWaveCyclic ** m_Pins
 
SUBDEVICE_DESCRIPTORm_Descriptor
 
ISubdevice * m_SubDevice
 
LONG m_Ref
 

Detailed Description

Definition at line 17 of file filter_wavecyclic.cpp.

Constructor & Destructor Documentation

◆ CPortFilterWaveCyclic()

CPortFilterWaveCyclic::CPortFilterWaveCyclic ( IUnknown OuterUnknown)
inline

Definition at line 39 of file filter_wavecyclic.cpp.

39 {}

◆ ~CPortFilterWaveCyclic()

virtual CPortFilterWaveCyclic::~CPortFilterWaveCyclic ( )
inlinevirtual

Definition at line 40 of file filter_wavecyclic.cpp.

40 {}

Member Function Documentation

◆ QueryInterface()

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

Definition at line 52 of file filter_wavecyclic.cpp.

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
#define IsEqualGUIDAligned(guid1, guid2)
Definition: wdm.template.h:233
IPortWaveCyclic * 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]

CPortFilterWaveCyclic::STDMETHODIMP_ ( ULONG  )
inline

Definition at line 22 of file filter_wavecyclic.cpp.

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

◆ STDMETHODIMP_() [2/2]

CPortFilterWaveCyclic::STDMETHODIMP_ ( ULONG  )
inline

Definition at line 27 of file filter_wavecyclic.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_IPortFilterWaveCyclic

CPortFilterWaveCyclic::IMP_IPortFilterWaveCyclic

Definition at line 38 of file filter_wavecyclic.cpp.

◆ m_Descriptor

SUBDEVICE_DESCRIPTOR* CPortFilterWaveCyclic::m_Descriptor
protected

Definition at line 45 of file filter_wavecyclic.cpp.

◆ m_Pins

IPortPinWaveCyclic** CPortFilterWaveCyclic::m_Pins
protected

Definition at line 44 of file filter_wavecyclic.cpp.

◆ m_Port

IPortWaveCyclic* CPortFilterWaveCyclic::m_Port
protected

Definition at line 43 of file filter_wavecyclic.cpp.

Referenced by QueryInterface().

◆ m_Ref

LONG CPortFilterWaveCyclic::m_Ref
protected

Definition at line 47 of file filter_wavecyclic.cpp.

Referenced by STDMETHODIMP_().

◆ m_SubDevice

ISubdevice* CPortFilterWaveCyclic::m_SubDevice
protected

Definition at line 46 of file filter_wavecyclic.cpp.


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