ReactOS 0.4.16-dev-334-g4d9f67c
|
#include <fxdevice.hpp>
Public Attributes | |
FxDisposeList * | m_DisposeList |
Protected Member Functions | |
FxDeviceBase (__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in FxDriver *Driver, __in WDFTYPE Type, __in USHORT Size) | |
~FxDeviceBase (VOID) | |
VOID | Init (__in MdDeviceObject DeviceObject, __in MdDeviceObject AttachedDevice, __in MdDeviceObject PhysicalDevice) |
Protected Member Functions inherited from FxObject | |
FxObject (__in WDFTYPE Type, __in USHORT Size, __in PFX_DRIVER_GLOBALS FxDriverGlobals, __in FxObjectType ObjectType) | |
FxObjectDebugExtension * | GetDebugExtension (VOID) |
BOOLEAN | IsDebug (VOID) |
VOID | AllocateTagTracker (__in WDFTYPE Type) |
virtual VOID | SelfDestruct (VOID) |
PVOID __inline | GetObjectHandleUnchecked (VOID) |
VOID __inline | DestroyChildren (VOID) |
VOID | DeleteEarlyDisposedObject (VOID) |
Protected Attributes | |
FxDriver * | m_Driver |
MxDeviceObject | m_DeviceObject |
MxDeviceObject | m_AttachedDevice |
MxDeviceObject | m_PhysicalDevice |
FxCallbackLock * | m_CallbackLockPtr |
FxObject * | m_CallbackLockObjectPtr |
WDF_EXECUTION_LEVEL | m_ExecutionLevel |
WDF_SYNCHRONIZATION_SCOPE | m_SynchronizationScope |
LONG | m_DmaPacketTransactionStatus |
Protected Attributes inherited from FxObject | |
union { | |
CfxDeviceBase * m_DeviceBase | |
CfxDevice * m_Device | |
}; | |
Additional Inherited Members | |
Static Protected Member Functions inherited from FxObject | |
static PVOID | _GetBase (__in FxObject *Object) |
Definition at line 122 of file fxdevice.hpp.
|
protected |
Definition at line 31 of file fxdevicebase.cpp.
|
protected |
Definition at line 55 of file fxdevicebase.cpp.
|
static |
Definition at line 214 of file fxdevicebase.cpp.
Referenced by FxIoTargetRemote::_Create(), FxMemoryBufferFromPool::_Create(), _SearchForDevice(), FxPkgIo::CreateQueue(), if(), FxDpc::Initialize(), FxTimer::Initialize(), FxWorkItem::Initialize(), and FxInterrupt::InitializeWorker().
|
static |
Definition at line 305 of file fxdevicebase.cpp.
|
inline |
Definition at line 354 of file fxdevice.hpp.
Referenced by FxDmaPacketTransaction::AcquireDevice().
|
inlinevirtual |
Reimplemented in FxDevice.
Definition at line 283 of file fxdevice.hpp.
|
inlinevirtual |
Reimplemented in FxDevice.
Definition at line 317 of file fxdevice.hpp.
Referenced by FxDmaEnabler::Initialize().
|
inlinevirtual |
Reimplemented in FxDevice.
Definition at line 247 of file fxdevice.hpp.
Referenced by AllocateTarget().
Definition at line 387 of file fxdevice.hpp.
Referenced by FxObject::QueueDeferredDisposeLocked().
|
inlinevirtual |
Reimplemented in FxDevice.
Definition at line 308 of file fxdevice.hpp.
|
inlinevirtual |
Reimplemented in FxDevice.
Definition at line 274 of file fxdevice.hpp.
_Must_inspect_result_ NTSTATUS FxDeviceBase::AllocateTarget | ( | _Out_ FxIoTarget ** | Target, |
_In_ BOOLEAN | SelfTarget | ||
) |
Definition at line 329 of file fxdevicebase.cpp.
Referenced by FxPkgFdo::PostCreateDeviceInitialize().
NTSTATUS FxDeviceBase::ConfigureConstraints | ( | __in_opt PWDF_OBJECT_ATTRIBUTES | ObjectAttributes | ) |
Definition at line 93 of file fxdevicebase.cpp.
Referenced by FxDevice::Initialize().
|
inline |
Definition at line 210 of file fxdevice.hpp.
Referenced by FxPkgFdo::_PnpPassDown(), FxPkgFdo::_PowerPassDown(), FxDefaultIrpHandler::Dispatch(), FxWmiIrpHandler::Dispatch(), FxPkgIo::DispatchStep1(), FxPkgFdo::DispatchSystemSetPower(), FxPkgPnp::DispatchWaitWake(), FxPkgGeneral::ForwardCreateRequest(), FxPkgPnp::HandleQueryInterface(), FxPkgGeneral::OnCleanup(), FxPkgGeneral::OnClose(), FxPkgGeneral::OnShutdown(), FxPkgPnp::PnpDeviceUsageNotification(), FxPkgPnp::PnpMatchResources(), FxPkgFdo::PnpSendStartDeviceDownTheStackOverload(), FxPkgFdo::ProcessRemoveDeviceOverload(), FxPkgFdo::QueryForPowerThread(), FxPkgFdo::QueryForReenumerationInterface(), FxPkgFdo::RaiseDevicePower(), and FxPkgFdo::SendIrpSynchronously().
Definition at line 219 of file fxdevice.hpp.
Referenced by FxPkgPnp::SetUsageNotificationFlags().
|
inline |
Definition at line 429 of file fxdevice.hpp.
Referenced by FxPkgPnp::CreatePowerThreadIfNeeded(), FxPkgPnp::PnpDeviceUsageNotification(), and QueryForInterface().
|
virtual |
Implements IFxHasCallbacks.
Definition at line 189 of file fxdevicebase.cpp.
Referenced by FxPkgGeneral::ConfigureConstraints(), and FxIoQueue::ConfigureConstraints().
VOID FxDeviceBase::GetConstraints | ( | __out_opt WDF_EXECUTION_LEVEL * | ExecutionLevel, |
__out_opt WDF_SYNCHRONIZATION_SCOPE * | SynchronizationScope | ||
) |
Definition at line 174 of file fxdevicebase.cpp.
Referenced by FxPkgGeneral::ConfigureConstraints(), and FxIoQueue::ConfigureConstraints().
|
inlinevirtual |
Reimplemented in FxDevice, and FxMpDevice.
Definition at line 438 of file fxdevice.hpp.
|
inline |
Definition at line 174 of file fxdevice.hpp.
Referenced by __drv_maxIRQL(), __drv_strictTypeMatch(), FxDevice::_Create(), _Function_class_(), FxPkgPdo::_QueryCapsWorkItem(), FxPkgGeneral::AcquireRemoveLockForClose(), FxPkgPnp::CleanupStateMachines(), FxPkgPnp::CommitUsageNotification(), FxUsbPipeContinuousReader::Config(), FxPkgPnp::CreatePowerThread(), FxPkgPnp::DisconnectInterruptNP(), FxPkgPnp::Dispatch(), FxWmiIrpHandler::Dispatch(), FxPkgGeneral::Dispatch(), FxPkgIo::Dispatch(), FxPkgFdo::DispatchDeviceSetPower(), FxPkgPdo::DispatchDeviceSetPower(), FxPkgFdo::DispatchSystemSetPower(), FxPkgPdo::DispatchSystemSetPower(), FxPkgPnp::DispatchWaitWake(), FxUsbDevice::Dispose(), FxPkgGeneral::ForwardCreateRequest(), FxIoQueue::ForwardRequestToParent(), FxMessageDispatch::GetDeviceObject(), FxPkgFdo::HandleQueryPnpDeviceStateCompletion(), if(), FxDmaEnabler::Initialize(), FxIoQueue::Initialize(), FxTimer::Initialize(), FxWorkItem::Initialize(), FxInterrupt::InitializeWorker(), FxPowerIdleMachine::IoDecrement(), FxPkgPnp::NotPowerPolicyOwnerEnterNewState(), FxPkgPnp::PnpDeviceUsageNotification(), FxPkgPnp::PnpEnterNewState(), FxPkgPdo::PnpEventEjectHardwareOverload(), FxPkgPnp::PnpMatchResources(), FxPkgPnp::PnpProcessEvent(), FxPkgPnp::PnpProcessEventInner(), FxPkgPdo::PnpQueryCapabilities(), FxPkgPdo::PnpQueryDeviceRelations(), FxPkgPdo::PnpQueryResourceRequirements(), FxPkgFdo::PnpSendStartDeviceDownTheStackOverload(), FxPkgGeneral::PostCreateDeviceInitialize(), FxPkgPnp::PowerConnectInterruptFailed(), FxPkgPnp::PowerEnterNewState(), FxPkgPnp::PowerGotoDxIoStopped(), FxPkgPnp::PowerGotoDxIoStoppedNP(), FxPkgPnp::PowerMakeWakeRequestNonCancelable(), FxPkgPnp::PowerPolicyCanIdlePowerDown(), FxPkgPnp::PowerPolicyEnterNewState(), FxPkgPnp::PowerPolicyProcessEvent(), FxPkgPnp::PowerPolicyProcessEventInner(), FxPkgPnp::PowerPolicySendDevicePowerRequest(), FxPkgPnp::PowerPolicySendWaitWakeRequest(), FxPkgPnp::PowerPolicySetS0IdleSettings(), FxPkgPnp::PowerPolicyUpdateSystemWakeSource(), FxPkgPnp::PowerProcessEvent(), FxPkgPnp::PowerProcessEventInner(), FxPkgPnp::PowerSetDevicePowerState(), FxPoxInterface::PoxRegisterDevice(), FxPkgPnp::ProcessDelayedDeletion(), FxDevicePwrRequirementMachine::ProcessEvent(), FxSelfManagedIoMachine::ProcessEvent(), FxWakeInterruptMachine::ProcessEvent(), FxDevicePwrRequirementMachine::ProcessEventInner(), FxWakeInterruptMachine::ProcessEventInner(), FxPowerIdleMachine::ProcessEventLocked(), FxPkgPnp::QueryForCapabilities(), FxIoQueue::QueueDriverCreatedRequest(), FxEventQueue::QueueToThreadWorker(), FxPkgFdo::RaiseDevicePower(), FxIoTargetSelf::Send(), FxEventQueue::SetDelayedDeletion(), FxPkgPnp::SetDeviceFailed(), FxPkgPnp::SetInternalFailure(), and FxPkgPnp::SetUsageNotificationFlags().
Definition at line 192 of file fxdevice.hpp.
Referenced by FxPkgPnp::CommitUsageNotification(), FxInterrupt::ForceDisconnect(), FxInterrupt::ForceReconnect(), if(), and FxPkgPnp::SetUsageNotificationFlags().
Definition at line 164 of file fxdevice.hpp.
Referenced by FxDevice::_Create(), FxWmiIrpHandler::_RegInfo(), FxChildList::CreateDevice(), FxPkgIo::GetDriver(), FxMessageDispatch::GetDriverObject(), and FxWorkItem::Initialize().
|
inline |
Definition at line 237 of file fxdevice.hpp.
Referenced by __drv_maxIRQL(), __drv_when(), FxDmaScatterGatherTransaction::_AdapterListControl(), FxIoTargetRemote::_Create(), _Function_class_(), FxPkgPdo::_PnpEject(), FxPkgPdo::_PnpQueryDeviceText(), FxPkgPdo::_PnpQueryId(), FxPkgPdo::_PnpSetLock(), _SearchForDevice(), FxPkgPdo::AddEjectionDevice(), FxPkgPnp::AddRemovalDevice(), FxPkgPnp::AddUsageDevice(), FxPkgPnp::AllocateEnumInfo(), FxDmaSystemTransaction::CallEvtDmaCompleted(), FxPkgPnp::CleanupStateMachines(), FxPkgPnp::CommitUsageNotification(), FxPkgGeneral::ConfigureConstraints(), FxPkgGeneral::ConfigureFileObjectClass(), FxInterrupt::Connect(), FxPkgPnp::CreatePowerThread(), FxPkgIo::CreateQueue(), FxInterrupt::Disconnect(), FxPkgPnp::DisconnectInterruptNP(), FxPkgPnp::Dispatch(), FxWmiIrpHandler::Dispatch(), FxPkgGeneral::Dispatch(), FxPkgIo::Dispatch(), FxPkgFdo::DispatchDeviceSetPower(), FxPkgPdo::DispatchDeviceSetPower(), FxPkgIo::DispatchStep1(), FxPkgIo::DispathToInCallerContextCallback(), FxInterrupt::DpcHandler(), FxPkgPnp::FilterResourceRequirements(), FxInterrupt::ForceDisconnect(), FxInterrupt::ForceReconnect(), FxWmiProvider::FunctionControl(), FxChildList::GetDevice(), FxIoTarget::GetDeviceHandle(), FxSelfManagedIoMachine::GetDeviceHandle(), FxDmaEnabler::GetDeviceHandle(), FxChildList::GetNextStaticDevice(), FxPkgPnp::HandleQueryBusInformation(), FxPkgPnp::HandleQueryBusRelations(), FxPkgPnp::HandleQueryDeviceRelations(), FxPkgPnp::HandleQueryInterface(), FxPkgFdo::HandleQueryPnpDeviceStateCompletion(), if(), FxPowerIdleMachine::InDxIoIncrement(), FxPkgPnp::Initialize(), FxInterrupt::InterruptDisableInvokeCallback(), FxInterrupt::InterruptEnableInvokeCallback(), FxPowerIdleMachine::IoDecrement(), FxPkgPnp::NotPowerPolicyOwnerEnterNewState(), FxPkgGeneral::OnCreate(), FxPkgGeneral::OnShutdown(), PerfEvtIoStopStart(), PerfEvtIoStopStop(), PerfIoComplete(), PerfIoStart(), FxPkgPnp::PnpDeviceUsageNotification(), FxPkgPnp::PnpEnterNewState(), FxPkgPdo::PnpEventEjectHardwareOverload(), FxPkgFdo::PnpFilterResourceRequirements(), FxPkgPnp::PnpMatchResources(), FxPkgPnp::PnpProcessEvent(), FxPkgPnp::PnpProcessEventInner(), FxPkgPdo::PnpQueryDeviceRelations(), FxPkgPdo::PnpQueryResourceRequirements(), FxPkgPdo::PnpQueryResources(), FxPkgPnp::PnpReleaseHardware(), FxPkgFdo::PnpSendStartDeviceDownTheStackOverload(), FxPkgGeneral::PostCreateDeviceInitialize(), FxPkgPnp::PowerConnectInterruptFailed(), FxPkgPdo::PowerDisableWakeAtBusOverload(), FxPkgPdo::PowerEnableWakeAtBusOverload(), FxPkgPnp::PowerEnterNewState(), FxPkgPnp::PowerGotoDxIoStopped(), FxPkgPnp::PowerGotoDxIoStoppedNP(), FxPkgPnp::PowerMakeWakeRequestNonCancelable(), FxPkgPnp::PowerPolicyCanIdlePowerDown(), FxPkgPnp::PowerPolicyDisarmWakeFromSx(), FxPkgPnp::PowerPolicyEnterNewState(), FxPkgPnp::PowerPolicyProcessEvent(), FxPkgPnp::PowerPolicyProcessEventInner(), FxPkgPnp::PowerPolicySendDevicePowerRequest(), FxPkgPnp::PowerPolicyUpdateSystemWakeSource(), FxPkgPnp::PowerProcessEvent(), FxPkgPnp::PowerProcessEventInner(), FxPowerIdleMachine::PowerReferenceWorker(), FxPoxInterface::PoxRegisterDevice(), FxDmaSystemTransaction::PreMapTransfer(), FxPkgPnp::ProcessDelayedDeletion(), FxDevicePwrRequirementMachine::ProcessEvent(), FxSelfManagedIoMachine::ProcessEvent(), FxWakeInterruptMachine::ProcessEvent(), FxDevicePwrRequirementMachine::ProcessEventInner(), FxWakeInterruptMachine::ProcessEventInner(), FxPowerIdleMachine::ProcessEventLocked(), FxEventQueue::QueueToThreadWorker(), FxPkgIo::ResetStateForRestart(), FxPkgIo::ResumeProcessingForPower(), FxPkgPnp::SaveState(), FxEventQueue::SetDelayedDeletion(), FxPkgPnp::SetPendingPnpIrp(), FxPkgPnp::SetUsageNotificationFlags(), FxDmaPacketTransaction::StageTransfer(), FxPkgIo::StopProcessingForPower(), FxPowerIdleMachine::TimedOutIoIncrement(), FxPkgPnp::ValidateCmResource(), FxPkgPnp::ValidateInterruptResourceCm(), WdfInterruptGetDevice(), and FxInterrupt::WorkItemHandler().
|
inline |
Definition at line 183 of file fxdevice.hpp.
Referenced by FxFileObject::_GetFileObjectFromWdm(), FxDevice::InvalidateDeviceState(), and FxPkgPnp::SetDeviceFailed().
|
inline |
Definition at line 228 of file fxdevice.hpp.
Referenced by FxWmiIrpHandler::_RegInfo(), FxPkgPnp::CommitUsageNotification(), FxInterrupt::ConnectInternal(), FxPkgPnp::HandleQueryDeviceRelations(), FxDmaEnabler::Initialize(), FxPkgPdo::PnpQueryResourceRequirements(), FxPoxInterface::PoxRegisterDevice(), FxChildList::ProcessBusRelations(), FxPkgPnp::QueryForD3ColdInterface(), and FxPkgPnp::SetInternalFailure().
|
protected |
Definition at line 202 of file fxdevicebase.cpp.
_Must_inspect_result_ NTSTATUS FxDeviceBase::QueryForInterface | ( | __in const GUID * | InterfaceType, |
__out PINTERFACE | Interface, | ||
__in USHORT | Size, | ||
__in USHORT | Version, | ||
__in PVOID | InterfaceSpecificData, | ||
__in_opt MdDeviceObject | TargetDevice = NULL |
||
) |
Definition at line 33 of file fxdevicebasekm.cpp.
Referenced by FxPkgFdo::QueryForPowerThread(), and FxPkgFdo::QueryForReenumerationInterface().
_Must_inspect_result_ NTSTATUS FxDeviceBase::QueryInterface | ( | __inout FxQueryInterfaceParams * | Params | ) |
Definition at line 72 of file fxdevicebase.cpp.
Referenced by _SearchForDevice(), and FxDevice::QueryInterface().
Definition at line 373 of file fxdevice.hpp.
Referenced by FxDmaPacketTransaction::ReleaseDevice().
|
inlinevirtual |
Reimplemented in FxDevice.
Definition at line 295 of file fxdevice.hpp.
|
inlinevirtual |
Reimplemented in FxDevice.
Definition at line 329 of file fxdevice.hpp.
Referenced by FxDmaEnabler::Dispose().
|
inlinevirtual |
Reimplemented in FxDevice.
Definition at line 261 of file fxdevice.hpp.
Referenced by FxIoTarget::Dispose().
Definition at line 201 of file fxdevice.hpp.
Referenced by FxPkgPnp::RevertUsageNotificationFlags(), and FxPkgPnp::SetUsageNotificationFlags().
|
inlinevirtual |
Reimplemented in FxDevice.
Definition at line 341 of file fxdevice.hpp.
Referenced by FxDmaEnabler::Initialize().
|
protected |
Definition at line 472 of file fxdevice.hpp.
Referenced by FxDevice::Destroy(), FxDevice::DetachDevice(), FxMpDevice::Dispose(), FxDevice::FdoInitialize(), GetAttachedDevice(), GetAttachedDeviceObjectFlags(), Init(), and FxDevice::SetFilterIoType().
|
protected |
Definition at line 476 of file fxdevice.hpp.
Referenced by ConfigureConstraints(), FxDeviceBase(), and GetCallbackLockPtr().
|
protected |
Definition at line 475 of file fxdevice.hpp.
Referenced by ConfigureConstraints(), FxDeviceBase(), GetCallbackLockPtr(), and ~FxDeviceBase().
|
protected |
Definition at line 471 of file fxdevice.hpp.
Referenced by FxDevice::CreateDevice(), FxDevice::DeleteObject(), FxDevice::Destroy(), FxDevice::DetachDevice(), FxMpDevice::Dispose(), FxDevice::FdoInitialize(), FxDevice::FinishInitializing(), FxMpDevice::FxMpDevice(), GetAttachedDeviceReference(), GetDeviceObject(), GetDeviceObjectFlags(), GetMxDeviceObject(), FxDevice::GetStackSize(), Init(), FxDevice::IsRemoveLockEnabledForIo(), FxDevice::PdoInitialize(), FxDevice::PostInitialize(), SetDeviceObjectFlags(), FxDevice::SetFilterIoType(), FxDevice::SetStackSize(), and FxDevice::~FxDevice().
FxDisposeList* FxDeviceBase::m_DisposeList |
Definition at line 466 of file fxdevice.hpp.
Referenced by AddToDisposeList(), FxDevice::DeleteDeviceFromFailedCreateNoDelete(), FxDevice::Dispose(), FxMpDevice::Dispose(), FxDeviceBase(), FxPkgPnp::PnpEventRemovedCommonCode(), FxDevice::PostInitialize(), and ~FxDeviceBase().
|
protected |
Definition at line 484 of file fxdevice.hpp.
Referenced by AcquireDmaPacketTransaction(), FxDeviceBase(), and ReleaseDmaPacketTransaction().
|
protected |
Definition at line 469 of file fxdevice.hpp.
Referenced by ConfigureConstraints(), FxDevice::CreateDevice(), FxDeviceBase(), and GetDriver().
|
protected |
Definition at line 478 of file fxdevice.hpp.
Referenced by ConfigureConstraints(), FxDeviceBase(), and GetConstraints().
|
protected |
Definition at line 473 of file fxdevice.hpp.
Referenced by FxDevice::FdoInitialize(), GetPhysicalDevice(), FxDevice::GetSafePhysicalDevice(), Init(), and FxDevice::PdoInitialize().
|
protected |
Definition at line 479 of file fxdevice.hpp.
Referenced by ConfigureConstraints(), FxDeviceBase(), and GetConstraints().