ReactOS  0.4.14-dev-115-g4576127
CPortWavePci Class Reference
Inheritance diagram for CPortWavePci:
Collaboration diagram for CPortWavePci:

Public Member Functions

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

Public Attributes

 IMP_IPortWavePci
 
 IMP_ISubdevice
 
 IMP_IPortEvents
 
 IMP_IServiceSink
 

Protected Attributes

PMINIPORTWAVEPCI m_Miniport
 
PDEVICE_OBJECT m_pDeviceObject
 
PSERVICEGROUP m_ServiceGroup
 
PPINCOUNT m_pPinCount
 
PPOWERNOTIFY m_pPowerNotify
 
PPCFILTER_DESCRIPTOR m_pDescriptor
 
PSUBDEVICE_DESCRIPTOR m_SubDeviceDescriptor
 
IPortFilterWavePci * m_Filter
 
LIST_ENTRY m_EventList
 
KSPIN_LOCK m_EventListLock
 
LONG m_Ref
 

Friends

PDEVICE_OBJECT GetDeviceObjectFromPortWavePci (IPortWavePci *iface)
 
PMINIPORTWAVEPCI GetWavePciMiniport (PPORTWAVEPCI iface)
 

Detailed Description

Definition at line 17 of file port_wavepci.cpp.

Constructor & Destructor Documentation

◆ CPortWavePci()

CPortWavePci::CPortWavePci ( IUnknown OuterUnknown)
inline

Definition at line 45 of file port_wavepci.cpp.

45 {}

◆ ~CPortWavePci()

virtual CPortWavePci::~CPortWavePci ( )
inlinevirtual

Definition at line 46 of file port_wavepci.cpp.

46 {}

Member Function Documentation

◆ QueryInterface()

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

Definition at line 160 of file port_wavepci.cpp.

163 {
165 
166  DPRINT("IPortWavePci_fnQueryInterface entered\n");
167 
168  if (IsEqualGUIDAligned(refiid, IID_IPortWavePci) ||
169  IsEqualGUIDAligned(refiid, IID_IUnknown) ||
170  IsEqualGUIDAligned(refiid, IID_IPort))
171  {
172  *Output = PVOID(PPORTWAVEPCI(this));
173  PUNKNOWN(*Output)->AddRef();
174  return STATUS_SUCCESS;
175  }
176  else if (IsEqualGUIDAligned(refiid, IID_IServiceSink))
177  {
178  *Output = PVOID(PSERVICESINK(this));
179  PUNKNOWN(*Output)->AddRef();
180  return STATUS_SUCCESS;
181  }
182  else if (IsEqualGUIDAligned(refiid, IID_IPortEvents))
183  {
184  *Output = PVOID(PPORTEVENTS(this));
185  PUNKNOWN(*Output)->AddRef();
186  return STATUS_SUCCESS;
187  }
188  else if (IsEqualGUIDAligned(refiid, IID_ISubdevice))
189  {
190  *Output = PVOID(PSUBDEVICE(this));
191  PUNKNOWN(*Output)->AddRef();
192  return STATUS_SUCCESS;
193  }
194  else if (IsEqualGUIDAligned(refiid, IID_IDrmPort) ||
195  IsEqualGUIDAligned(refiid, IID_IDrmPort2))
196  {
197  return NewIDrmPort((PDRMPORT2*)Output);
198  }
199  else if (IsEqualGUIDAligned(refiid, IID_IPortClsVersion))
200  {
202  }
203  else if (IsEqualGUIDAligned(refiid, IID_IUnregisterSubdevice))
204  {
206  }
207  else if (IsEqualGUIDAligned(refiid, IID_IUnregisterPhysicalConnection))
208  {
210  }
211 
213  {
214  DPRINT("IPortWavePci_fnQueryInterface no interface!!! iface %S\n", GuidString.Buffer);
216  }
217 
218  return STATUS_UNSUCCESSFUL;
219 }
IPortEvents * PPORTEVENTS
Definition: portcls.h:2065
static PWSTR GuidString
Definition: apphelp.c:91
IUnknown * PUNKNOWN
Definition: com_apitest.h:45
IServiceSink * PSERVICESINK
Definition: portcls.h:569
IUnregisterSubdevice * PUNREGISTERSUBDEVICE
Definition: portcls.h:633
#define IsEqualGUIDAligned(guid1, guid2)
Definition: wdm.template.h:233
void DPRINT(...)
Definition: polytest.cpp:61
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
IPortWavePci * PPORTWAVEPCI
Definition: portcls.h:1236
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:2966
IPortClsVersion * PPORTCLSVERSION
Definition: portcls.h:2209

◆ STDMETHODIMP_() [1/2]

CPortWavePci::STDMETHODIMP_ ( ULONG  )
inline

Definition at line 25 of file port_wavepci.cpp.

26  {
28  return m_Ref;
29  }
#define InterlockedIncrement
Definition: armddk.h:53

◆ STDMETHODIMP_() [2/2]

CPortWavePci::STDMETHODIMP_ ( ULONG  )
inline

Definition at line 30 of file port_wavepci.cpp.

31  {
33 
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

◆ GetDeviceObjectFromPortWavePci

PDEVICE_OBJECT GetDeviceObjectFromPortWavePci ( IPortWavePci *  iface)
friend

Definition at line 562 of file port_wavepci.cpp.

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

◆ GetWavePciMiniport

PMINIPORTWAVEPCI GetWavePciMiniport ( PPORTWAVEPCI  iface)
friend

Definition at line 570 of file port_wavepci.cpp.

572 {
573  CPortWavePci * This = (CPortWavePci*)iface;
574  return This->m_Miniport;
575 }

Member Data Documentation

◆ IMP_IPortEvents

CPortWavePci::IMP_IPortEvents

Definition at line 43 of file port_wavepci.cpp.

◆ IMP_IPortWavePci

CPortWavePci::IMP_IPortWavePci

Definition at line 41 of file port_wavepci.cpp.

◆ IMP_IServiceSink

CPortWavePci::IMP_IServiceSink

Definition at line 44 of file port_wavepci.cpp.

◆ IMP_ISubdevice

CPortWavePci::IMP_ISubdevice

Definition at line 42 of file port_wavepci.cpp.

◆ m_EventList

LIST_ENTRY CPortWavePci::m_EventList
protected

Definition at line 59 of file port_wavepci.cpp.

◆ m_EventListLock

KSPIN_LOCK CPortWavePci::m_EventListLock
protected

Definition at line 60 of file port_wavepci.cpp.

◆ m_Filter

IPortFilterWavePci* CPortWavePci::m_Filter
protected

Definition at line 57 of file port_wavepci.cpp.

◆ m_Miniport

PMINIPORTWAVEPCI CPortWavePci::m_Miniport
protected

Definition at line 50 of file port_wavepci.cpp.

◆ m_pDescriptor

PPCFILTER_DESCRIPTOR CPortWavePci::m_pDescriptor
protected

Definition at line 55 of file port_wavepci.cpp.

◆ m_pDeviceObject

PDEVICE_OBJECT CPortWavePci::m_pDeviceObject
protected

Definition at line 51 of file port_wavepci.cpp.

◆ m_pPinCount

PPINCOUNT CPortWavePci::m_pPinCount
protected

Definition at line 53 of file port_wavepci.cpp.

◆ m_pPowerNotify

PPOWERNOTIFY CPortWavePci::m_pPowerNotify
protected

Definition at line 54 of file port_wavepci.cpp.

◆ m_Ref

LONG CPortWavePci::m_Ref
protected

Definition at line 62 of file port_wavepci.cpp.

Referenced by STDMETHODIMP_().

◆ m_ServiceGroup

PSERVICEGROUP CPortWavePci::m_ServiceGroup
protected

Definition at line 52 of file port_wavepci.cpp.

◆ m_SubDeviceDescriptor

PSUBDEVICE_DESCRIPTOR CPortWavePci::m_SubDeviceDescriptor
protected

Definition at line 56 of file port_wavepci.cpp.


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