ReactOS 0.4.15-dev-7953-g1f49173
CPortTopology Class Reference
Inheritance diagram for CPortTopology:
Collaboration diagram for CPortTopology:

Public Member Functions

STDMETHODIMP QueryInterface (REFIID InterfaceId, PVOID *Interface)
 
 CPortTopology (IUnknown *OuterUnknown)
 
virtual ~CPortTopology ()
 
- Public Member Functions inherited from CUnknownImpl< IPortTopology, ISubdevice, IPortEvents >
 STDMETHODIMP_ (ULONG) AddRef()
 
 STDMETHODIMP_ (ULONG) Release()
 

Public Attributes

 IMP_IPortTopology
 
 IMP_ISubdevice
 
 IMP_IPortEvents
 

Protected Attributes

BOOL m_bInitialized
 
PMINIPORTTOPOLOGY m_pMiniport
 
PDEVICE_OBJECT m_pDeviceObject
 
PPINCOUNT m_pPinCount
 
PPOWERNOTIFY m_pPowerNotify
 
PPCFILTER_DESCRIPTOR m_pDescriptor
 
PSUBDEVICE_DESCRIPTOR m_SubDeviceDescriptor
 
IPortFilterTopology * m_Filter
 

Friends

PMINIPORTTOPOLOGY GetTopologyMiniport (PPORTTOPOLOGY Port)
 

Additional Inherited Members

- Protected Member Functions inherited from CUnknownImpl< IPortTopology, ISubdevice, IPortEvents >
 CUnknownImpl ()
 
virtual ~CUnknownImpl ()
 

Detailed Description

Definition at line 14 of file port_topology.cpp.

Constructor & Destructor Documentation

◆ CPortTopology()

CPortTopology::CPortTopology ( IUnknown OuterUnknown)
inline

Definition at line 22 of file port_topology.cpp.

22{}

◆ ~CPortTopology()

virtual CPortTopology::~CPortTopology ( )
inlinevirtual

Definition at line 23 of file port_topology.cpp.

23{}

Member Function Documentation

◆ QueryInterface()

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

Definition at line 105 of file port_topology.cpp.

108{
110
111 DPRINT("IPortTopology_fnQueryInterface\n");
112
113 if (IsEqualGUIDAligned(refiid, IID_IPortTopology) ||
114 IsEqualGUIDAligned(refiid, IID_IPort) ||
116 {
117 *Output = PVOID(PUNKNOWN((IPortTopology*)this));
118 PUNKNOWN(*Output)->AddRef();
119 return STATUS_SUCCESS;
120 }
121 else if (IsEqualGUIDAligned(refiid, IID_IPortEvents))
122 {
123 *Output = PVOID(PPORTEVENTS(this));
124 PUNKNOWN(*Output)->AddRef();
125 return STATUS_SUCCESS;
126 }
127 else if (IsEqualGUIDAligned(refiid, IID_ISubdevice))
128 {
129 *Output = PVOID(PSUBDEVICE(this));
130 PUNKNOWN(*Output)->AddRef();
131 return STATUS_SUCCESS;
132 }
133 else if (IsEqualGUIDAligned(refiid, IID_IPortClsVersion))
134 {
136 }
137 else if (IsEqualGUIDAligned(refiid, IID_IDrmPort) ||
138 IsEqualGUIDAligned(refiid, IID_IDrmPort2))
139 {
140 return NewIDrmPort((PDRMPORT2*)Output);
141 }
142 else if (IsEqualGUIDAligned(refiid, IID_IUnregisterSubdevice))
143 {
145 }
146 else if (IsEqualGUIDAligned(refiid, IID_IUnregisterPhysicalConnection))
147 {
149 }
150
152 {
153 DPRINT1("IPortTopology_fnQueryInterface no interface!!! iface %S\n", GuidString.Buffer);
155 }
156 return STATUS_UNSUCCESSFUL;
157}
ISubdevice * PSUBDEVICE
Definition: interfaces.hpp:307
#define DPRINT1
Definition: precomp.h:8
const GUID IID_IUnknown
IUnknown * PUNKNOWN
Definition: com_apitest.h:45
NTSTATUS NTAPI NewIUnregisterPhysicalConnection(OUT PUNREGISTERPHYSICALCONNECTION *OutConnection)
Definition: connection.cpp:124
NTSTATUS NewIDrmPort(OUT PDRMPORT2 *OutPort)
Definition: drm_port.cpp:122
NTSYSAPI NTSTATUS WINAPI RtlStringFromGUID(REFGUID, PUNICODE_STRING)
ULONG AddRef()
static PWSTR GuidString
Definition: apphelp.c:93
NTSYSAPI VOID NTAPI RtlFreeUnicodeString(PUNICODE_STRING UnicodeString)
IPortEvents * PPORTEVENTS
Definition: portcls.h:2121
IUnregisterSubdevice * PUNREGISTERSUBDEVICE
Definition: portcls.h:635
IPortClsVersion * PPORTCLSVERSION
Definition: portcls.h:2263
IUnregisterPhysicalConnection * PUNREGISTERPHYSICALCONNECTION
Definition: portcls.h:677
IDrmPort2 * PDRMPORT2
Definition: portcls.h:2228
NTSTATUS NTAPI NewIUnregisterSubdevice(OUT PUNREGISTERSUBDEVICE *OutDevice)
Definition: unregister.cpp:119
NTSTATUS NewPortClsVersion(OUT PPORTCLSVERSION *OutVersion)
Definition: version.cpp:66
@ Output
Definition: arc.h:85
#define STATUS_SUCCESS
Definition: shellext.h:65
#define DPRINT
Definition: sndvol32.h:71
void * PVOID
Definition: typedefs.h:50
#define STATUS_UNSUCCESSFUL
Definition: udferr_usr.h:132
#define IsEqualGUIDAligned(guid1, guid2)
Definition: wdm.template.h:235

Friends And Related Function Documentation

◆ GetTopologyMiniport

PMINIPORTTOPOLOGY GetTopologyMiniport ( PPORTTOPOLOGY  Port)
friend

Definition at line 587 of file port_topology.cpp.

589{
591 return This->m_pMiniport;
592}
CPPORT Port[4]
Definition: headless.c:35

Member Data Documentation

◆ IMP_IPortEvents

CPortTopology::IMP_IPortEvents

Definition at line 21 of file port_topology.cpp.

◆ IMP_IPortTopology

CPortTopology::IMP_IPortTopology

Definition at line 19 of file port_topology.cpp.

◆ IMP_ISubdevice

CPortTopology::IMP_ISubdevice

Definition at line 20 of file port_topology.cpp.

◆ m_bInitialized

BOOL CPortTopology::m_bInitialized
protected

Definition at line 26 of file port_topology.cpp.

◆ m_Filter

IPortFilterTopology* CPortTopology::m_Filter
protected

Definition at line 35 of file port_topology.cpp.

◆ m_pDescriptor

PPCFILTER_DESCRIPTOR CPortTopology::m_pDescriptor
protected

Definition at line 33 of file port_topology.cpp.

◆ m_pDeviceObject

PDEVICE_OBJECT CPortTopology::m_pDeviceObject
protected

Definition at line 29 of file port_topology.cpp.

◆ m_pMiniport

PMINIPORTTOPOLOGY CPortTopology::m_pMiniport
protected

Definition at line 28 of file port_topology.cpp.

◆ m_pPinCount

PPINCOUNT CPortTopology::m_pPinCount
protected

Definition at line 30 of file port_topology.cpp.

◆ m_pPowerNotify

PPOWERNOTIFY CPortTopology::m_pPowerNotify
protected

Definition at line 31 of file port_topology.cpp.

◆ m_SubDeviceDescriptor

PSUBDEVICE_DESCRIPTOR CPortTopology::m_SubDeviceDescriptor
protected

Definition at line 34 of file port_topology.cpp.


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