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

Public Member Functions

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

Public Attributes

 IMP_IPortWaveCyclic
 
 IMP_ISubdevice
 
 IMP_IPortEvents
 

Protected Attributes

PDEVICE_OBJECT m_pDeviceObject
 
PMINIPORTWAVECYCLIC m_pMiniport
 
PPINCOUNT m_pPinCount
 
PPOWERNOTIFY m_pPowerNotify
 
PPCFILTER_DESCRIPTOR m_pDescriptor
 
PSUBDEVICE_DESCRIPTOR m_SubDeviceDescriptor
 
IPortFilterWaveCyclic * m_Filter
 
LONG m_Ref
 

Friends

PMINIPORTWAVECYCLIC GetWaveCyclicMiniport (IN IPortWaveCyclic *iface)
 
PDEVICE_OBJECT GetDeviceObject (PPORTWAVECYCLIC iface)
 

Detailed Description

Definition at line 19 of file port_wavecyclic.cpp.

Constructor & Destructor Documentation

◆ CPortWaveCyclic()

CPortWaveCyclic::CPortWaveCyclic ( IUnknown OuterUnknown)
inline

Definition at line 44 of file port_wavecyclic.cpp.

44 {}

◆ ~CPortWaveCyclic()

virtual CPortWaveCyclic::~CPortWaveCyclic ( )
inlinevirtual

Definition at line 45 of file port_wavecyclic.cpp.

45 {}

Member Function Documentation

◆ QueryInterface()

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

Definition at line 142 of file port_wavecyclic.cpp.

145 {
147 
148  if (IsEqualGUIDAligned(refiid, IID_IPortWaveCyclic) ||
149  IsEqualGUIDAligned(refiid, IID_IPort) ||
151  {
152  *Output = PVOID(PPORTWAVECYCLIC(this));
153  PUNKNOWN(*Output)->AddRef();
154  return STATUS_SUCCESS;
155  }
156  else if (IsEqualGUIDAligned(refiid, IID_IPortEvents))
157  {
158  *Output = PVOID(PPORTEVENTS(this));
159  PUNKNOWN(*Output)->AddRef();
160  return STATUS_SUCCESS;
161  }
162  else if (IsEqualGUIDAligned(refiid, IID_ISubdevice))
163  {
164  *Output = PVOID(PSUBDEVICE(this));
165  PUNKNOWN(*Output)->AddRef();
166  return STATUS_SUCCESS;
167  }
168  else if (IsEqualGUIDAligned(refiid, IID_IPortClsVersion))
169  {
171  }
172  else if (IsEqualGUIDAligned(refiid, IID_IDrmPort) ||
173  IsEqualGUIDAligned(refiid, IID_IDrmPort2))
174  {
175  return NewIDrmPort((PDRMPORT2*)Output);
176  }
177  else if (IsEqualGUIDAligned(refiid, IID_IUnregisterSubdevice))
178  {
180  }
181  else if (IsEqualGUIDAligned(refiid, IID_IUnregisterPhysicalConnection))
182  {
184  }
185 
187  {
188  DPRINT1("IPortWaveCyclic_fnQueryInterface no interface!!! iface %S\n", GuidString.Buffer);
190  }
191 
192  return STATUS_UNSUCCESSFUL;
193 }
IPortEvents * PPORTEVENTS
Definition: portcls.h:2065
static PWSTR GuidString
Definition: apphelp.c:91
IUnknown * PUNKNOWN
Definition: com_apitest.h:45
IUnregisterSubdevice * PUNREGISTERSUBDEVICE
Definition: portcls.h:633
#define IsEqualGUIDAligned(guid1, guid2)
Definition: wdm.template.h:233
void * PVOID
Definition: retypes.h:9
IUnregisterPhysicalConnection * PUNREGISTERPHYSICALCONNECTION
Definition: portcls.h:675
IDrmPort2 * PDRMPORT2
Definition: portcls.h:2172
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
NTSTATUS NTAPI NewIUnregisterSubdevice(OUT PUNREGISTERSUBDEVICE *OutDevice)
Definition: unregister.cpp:143
NTSYSAPI NTSTATUS WINAPI RtlStringFromGUID(REFGUID, PUNICODE_STRING)
ISubdevice * PSUBDEVICE
Definition: interfaces.hpp:305
NTSTATUS NewPortClsVersion(OUT PPORTCLSVERSION *OutVersion)
Definition: version.cpp:93
#define DPRINT1
Definition: precomp.h:8
NTSTATUS NTAPI NewIUnregisterPhysicalConnection(OUT PUNREGISTERPHYSICALCONNECTION *OutConnection)
Definition: connection.cpp:148
NTSTATUS NewIDrmPort(OUT PDRMPORT2 *OutPort)
Definition: drm_port.cpp:145
return STATUS_SUCCESS
Definition: btrfs.c:2777
IPortWaveCyclic * PPORTWAVECYCLIC
Definition: portcls.h:1172
IPortClsVersion * PPORTCLSVERSION
Definition: portcls.h:2209

◆ STDMETHODIMP_() [1/2]

CPortWaveCyclic::STDMETHODIMP_ ( ULONG  )
inline

Definition at line 26 of file port_wavecyclic.cpp.

27  {
29  return m_Ref;
30  }
#define InterlockedIncrement
Definition: armddk.h:53

◆ STDMETHODIMP_() [2/2]

CPortWaveCyclic::STDMETHODIMP_ ( ULONG  )
inline

Definition at line 31 of file port_wavecyclic.cpp.

32  {
34  if (!m_Ref)
35  {
36  //delete this;
37  return 0;
38  }
39  return m_Ref;
40  }
#define InterlockedDecrement
Definition: armddk.h:52

Friends And Related Function Documentation

◆ GetDeviceObject

PDEVICE_OBJECT GetDeviceObject ( PPORTWAVECYCLIC  iface)
friend

Definition at line 563 of file port_wavecyclic.cpp.

565 {
566  CPortWaveCyclic * This = (CPortWaveCyclic *)iface;
567  return This->m_pDeviceObject;
568 }

◆ GetWaveCyclicMiniport

PMINIPORTWAVECYCLIC GetWaveCyclicMiniport ( IN IPortWaveCyclic *  iface)
friend

Definition at line 555 of file port_wavecyclic.cpp.

557 {
558  CPortWaveCyclic * This = (CPortWaveCyclic *)iface;
559  return This->m_pMiniport;
560 }

Member Data Documentation

◆ IMP_IPortEvents

CPortWaveCyclic::IMP_IPortEvents

Definition at line 43 of file port_wavecyclic.cpp.

◆ IMP_IPortWaveCyclic

CPortWaveCyclic::IMP_IPortWaveCyclic

Definition at line 41 of file port_wavecyclic.cpp.

◆ IMP_ISubdevice

CPortWaveCyclic::IMP_ISubdevice

Definition at line 42 of file port_wavecyclic.cpp.

◆ m_Filter

IPortFilterWaveCyclic* CPortWaveCyclic::m_Filter
protected

Definition at line 54 of file port_wavecyclic.cpp.

◆ m_pDescriptor

PPCFILTER_DESCRIPTOR CPortWaveCyclic::m_pDescriptor
protected

Definition at line 52 of file port_wavecyclic.cpp.

◆ m_pDeviceObject

PDEVICE_OBJECT CPortWaveCyclic::m_pDeviceObject
protected

Definition at line 48 of file port_wavecyclic.cpp.

◆ m_pMiniport

PMINIPORTWAVECYCLIC CPortWaveCyclic::m_pMiniport
protected

Definition at line 49 of file port_wavecyclic.cpp.

◆ m_pPinCount

PPINCOUNT CPortWaveCyclic::m_pPinCount
protected

Definition at line 50 of file port_wavecyclic.cpp.

◆ m_pPowerNotify

PPOWERNOTIFY CPortWaveCyclic::m_pPowerNotify
protected

Definition at line 51 of file port_wavecyclic.cpp.

◆ m_Ref

LONG CPortWaveCyclic::m_Ref
protected

Definition at line 56 of file port_wavecyclic.cpp.

Referenced by STDMETHODIMP_().

◆ m_SubDeviceDescriptor

PSUBDEVICE_DESCRIPTOR CPortWaveCyclic::m_SubDeviceDescriptor
protected

Definition at line 53 of file port_wavecyclic.cpp.


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