ReactOS 0.4.17-dev-1281-g065abb3
HubPdo Class Reference

#include <childpdo.h>

Collaboration diagram for HubPdo:

Public Member Functions

BOOLEAN HasFlag (_In_ PdoFlag Flag) const
 
VOID SetFlag (_In_ PdoFlag Flag)
 
VOID ClearFlag (_In_ PdoFlag Flag)
 
BOOLEAN TestAndClearFlag (_In_ PdoFlag Flag)
 

Static Public Member Functions

static HubPdo * FromDevice (_In_ WDFDEVICE Device)
 

Public Attributes

IdleMachine m_Idle
 
WDFDEVICE m_Device
 
HubFdo * m_Hub
 
HubChild * m_Child
 
USHORT m_PortNumber
 
volatile LONG m_Flags
 
BOOLEAN m_FailRequests
 
BOOLEAN m_Reported
 
volatile LONG m_CycleQueued
 
PDEVICE_OBJECT m_ControllerTarget
 
WDFQUEUE m_Queue
 
WDFWORKITEM m_IdleWorkItem
 
ULONG m_ConfigPowerDraw
 
PVOID m_StartFailData
 
PVOID m_ChildHubFdo
 
WDFREQUEST m_WakeRequest
 
REQUEST_REMOTE_WAKE_NOTIFICATION m_WakeBlock
 
KEVENT m_WakeDone
 
PVOID m_LpmSettings [HUB_PDO_LPM_SETTINGS]
 
D3COLD_SUPPORT_INTERFACE m_AcpiD3Cold
 
WDF_POWER_DEVICE_STATE m_WdfPowerState
 
ULONG m_ClientContractVersion
 
WDFSTRING m_SymbolicLink
 

Detailed Description

Definition at line 44 of file childpdo.h.

Member Function Documentation

◆ ClearFlag()

VOID HubPdo::ClearFlag ( _In_ PdoFlag  Flag)
inline

Definition at line 80 of file childpdo.h.

82 {
84 }
volatile LONG m_Flags
Definition: childpdo.h:61
#define InterlockedAnd
Definition: interlocked.h:77
long LONG
Definition: pedump.c:60
Definition: xml2sdb.h:103

Referenced by DeviceMachine::ClearResetAtResume().

◆ FromDevice()

HubPdo * HubPdo::FromDevice ( _In_ WDFDEVICE  Device)
static

Definition at line 180 of file childpdo.cpp.

182{
183 return HubGetPdoContext(Device);
184}
_Must_inspect_result_ _In_ PUCXHUB_DEVICE_CREATE_INFO _Out_ UCXUSBDEVICE * Device
Definition: hubucx.h:258

Referenced by HubEvtSelectiveSuspendWorkItem(), HubWmiQueryDeviceNode(), and while().

◆ HasFlag()

BOOLEAN HubPdo::HasFlag ( _In_ PdoFlag  Flag) const
inline

Definition at line 66 of file childpdo.h.

68 {
69 return (m_Flags & (LONG)Flag) != 0;
70 }

Referenced by DeviceMachine::IsBootDevice(), DeviceMachine::PdoStarted(), and DeviceMachine::ResetAtResumeMarked().

◆ SetFlag()

VOID HubPdo::SetFlag ( _In_ PdoFlag  Flag)
inline

Definition at line 73 of file childpdo.h.

75 {
77 }
#define InterlockedOr
Definition: interlocked.h:239

Referenced by DeviceMachine::MarkPowerLost(), and DeviceMachine::MarkResetAtResume().

◆ TestAndClearFlag()

BOOLEAN HubPdo::TestAndClearFlag ( _In_ PdoFlag  Flag)
inline

Clears Flag and says whether it was set.

Definition at line 88 of file childpdo.h.

90 {
91 return (InterlockedAnd(&m_Flags, ~(LONG)Flag) & (LONG)Flag) != 0;
92 }

Member Data Documentation

◆ m_AcpiD3Cold

D3COLD_SUPPORT_INTERFACE HubPdo::m_AcpiD3Cold

Definition at line 126 of file childpdo.h.

Referenced by HubD3ColdDereference(), and HubD3ColdReference().

◆ m_Child

HubChild* HubPdo::m_Child

Definition at line 57 of file childpdo.h.

Referenced by HubIoGetConnectionInformation().

◆ m_ChildHubFdo

PVOID HubPdo::m_ChildHubFdo

Definition at line 116 of file childpdo.h.

◆ m_ClientContractVersion

ULONG HubPdo::m_ClientContractVersion

Definition at line 129 of file childpdo.h.

◆ m_ConfigPowerDraw

ULONG HubPdo::m_ConfigPowerDraw

Definition at line 110 of file childpdo.h.

◆ m_ControllerTarget

PDEVICE_OBJECT HubPdo::m_ControllerTarget

Definition at line 104 of file childpdo.h.

◆ m_CycleQueued

volatile LONG HubPdo::m_CycleQueued

Definition at line 101 of file childpdo.h.

◆ m_Device

WDFDEVICE HubPdo::m_Device

◆ m_FailRequests

BOOLEAN HubPdo::m_FailRequests

Definition at line 95 of file childpdo.h.

Referenced by DeviceMachine::AllowIo(), and DeviceMachine::SetFailIo().

◆ m_Flags

volatile LONG HubPdo::m_Flags

◆ m_Hub

HubFdo* HubPdo::m_Hub

Definition at line 56 of file childpdo.h.

Referenced by IdleMachine::SelectiveSuspendSupported().

◆ m_Idle

IdleMachine HubPdo::m_Idle

Definition at line 53 of file childpdo.h.

◆ m_IdleWorkItem

WDFWORKITEM HubPdo::m_IdleWorkItem

Definition at line 107 of file childpdo.h.

Referenced by IdleMachine::QueueIdleWorkItem().

◆ m_LpmSettings

PVOID HubPdo::m_LpmSettings[HUB_PDO_LPM_SETTINGS]

Definition at line 123 of file childpdo.h.

◆ m_PortNumber

◆ m_Queue

WDFQUEUE HubPdo::m_Queue

Definition at line 106 of file childpdo.h.

◆ m_Reported

BOOLEAN HubPdo::m_Reported

Definition at line 98 of file childpdo.h.

◆ m_StartFailData

PVOID HubPdo::m_StartFailData

Definition at line 113 of file childpdo.h.

◆ m_SymbolicLink

WDFSTRING HubPdo::m_SymbolicLink

Definition at line 132 of file childpdo.h.

◆ m_WakeBlock

REQUEST_REMOTE_WAKE_NOTIFICATION HubPdo::m_WakeBlock

Definition at line 120 of file childpdo.h.

◆ m_WakeDone

KEVENT HubPdo::m_WakeDone

Definition at line 121 of file childpdo.h.

◆ m_WakeRequest

WDFREQUEST HubPdo::m_WakeRequest

Definition at line 119 of file childpdo.h.

◆ m_WdfPowerState

WDF_POWER_DEVICE_STATE HubPdo::m_WdfPowerState

Definition at line 128 of file childpdo.h.


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