ReactOS 0.4.16-dev-125-g798ea90
|
#include <fxinterrupt.hpp>
Protected Attributes | |
LIST_ENTRY | m_PnpList |
Protected Attributes inherited from FxObject | |
union { | |
CfxDeviceBase * m_DeviceBase | |
CfxDevice * m_Device | |
}; | |
Private Member Functions | |
VOID | Reset (VOID) |
VOID | ResetInternal (VOID) |
VOID | SetSyncIrql (KIRQL SyncIrql) |
VOID | FlushAndRundown (VOID) |
VOID | FlushAndRundownInternal (VOID) |
NTSTATUS | InterruptEnable (VOID) |
NTSTATUS | InterruptEnableInvokeCallback (VOID) |
NTSTATUS | InterruptDisable (VOID) |
NTSTATUS | InterruptDisableInvokeCallback (VOID) |
Static Private Attributes | |
static MdInterruptSynchronizeRoutineType | _InterruptMarkDisconnecting |
static MdInterruptServiceRoutineType | _InterruptThunk |
static EVT_SYSTEMWORKITEM | _InterruptWorkItemCallback |
static MdInterruptSynchronizeRoutineType | _InterruptSynchronizeThunk |
static MdDeferredRoutineType | _InterruptDpcThunk |
static MdInterruptSynchronizeRoutineType | _InterruptEnableThunk |
static MdInterruptSynchronizeRoutineType | _InterruptDisableThunk |
Additional Inherited Members | |
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) |
Static Protected Member Functions inherited from FxObject | |
static PVOID | _GetBase (__in FxObject *Object) |
Definition at line 45 of file fxinterrupt.hpp.
FxInterrupt::FxInterrupt | ( | __in PFX_DRIVER_GLOBALS | FxDriverGlobals | ) |
Definition at line 143 of file interruptobject.cpp.
|
virtual |
Definition at line 241 of file interruptobject.cpp.
|
static |
Definition at line 421 of file interruptobject.cpp.
Definition at line 695 of file fxinterrupt.hpp.
Referenced by AssignResources(), FxPkgPnp::FilterResourceRequirements(), FxPkgPnp::PnpMatchResources(), and FxPkgPnp::ValidateInterruptResourceCm().
Definition at line 709 of file fxinterrupt.hpp.
Definition at line 1877 of file interruptobject.cpp.
Referenced by _Requires_lock_not_held_(), InterruptDisableInvokeCallback(), InterruptEnableInvokeCallback(), and InvokeWakeInterruptEvtIsr().
VOID FxInterrupt::AssignResources | ( | __in PCM_PARTIAL_RESOURCE_DESCRIPTOR | CmDescRaw, |
__in PCM_PARTIAL_RESOURCE_DESCRIPTOR | CmDescTrans | ||
) |
Definition at line 928 of file interruptobject.cpp.
Referenced by Initialize(), and FxPkgPnp::PnpMatchResources().
VOID FxInterrupt::AssignResourcesInternal | ( | __in PCM_PARTIAL_RESOURCE_DESCRIPTOR | CmDescRaw, |
__in PCM_PARTIAL_RESOURCE_DESCRIPTOR | CmDescTrans, | ||
__in PWDF_INTERRUPT_INFO | InterruptConfig | ||
) |
Definition at line 71 of file fxinterruptkm.hpp.
Referenced by AssignResources().
_Must_inspect_result_ NTSTATUS FxInterrupt::Connect | ( | __in ULONG | NotifyFlags | ) |
Definition at line 1189 of file interruptobject.cpp.
Referenced by FxPkgPnp::NotifyResourceObjectsD0().
Definition at line 130 of file interruptobjectkm.cpp.
Referenced by Connect().
_Must_inspect_result_ NTSTATUS FxInterrupt::CreateWakeInterruptMachine | ( | VOID | ) |
Definition at line 267 of file interruptobject.cpp.
Referenced by _CreateAndInit().
Reimplemented from FxObject.
Definition at line 857 of file interruptobject.cpp.
_Must_inspect_result_ NTSTATUS FxInterrupt::Disconnect | ( | __in ULONG | NotifyFlags | ) |
Definition at line 1340 of file interruptobject.cpp.
Referenced by Disconnect(), ForceDisconnect(), and FxPkgPnp::NotifyResourceObjectsDx().
Definition at line 177 of file interruptobjectkm.cpp.
Referenced by Disconnect().
Reimplemented from FxObject.
Definition at line 915 of file interruptobject.cpp.
Definition at line 52 of file interruptobjectkm.cpp.
VOID FxInterrupt::FilterResourceRequirements | ( | __inout PIO_RESOURCE_DESCRIPTOR | IoResourceDescriptor | ) |
Definition at line 216 of file interruptobjectkm.cpp.
Referenced by FxPkgPnp::FilterResourceRequirements().
Definition at line 1646 of file interruptobject.cpp.
Referenced by Dispose().
Definition at line 413 of file interruptobjectkm.cpp.
Referenced by FlushAndRundown().
Definition at line 283 of file interruptobjectkm.cpp.
Referenced by Disconnect(), and FlushAndRundown().
_Must_inspect_result_ NTSTATUS FxInterrupt::ForceDisconnect | ( | VOID | ) |
Definition at line 1576 of file interruptobject.cpp.
_Must_inspect_result_ NTSTATUS FxInterrupt::ForceReconnect | ( | VOID | ) |
Definition at line 1610 of file interruptobject.cpp.
Definition at line 517 of file fxinterrupt.hpp.
Referenced by WdfInterruptGetDevice().
|
inline |
Definition at line 530 of file fxinterrupt.hpp.
Referenced by FxPkgPnp::NotifyResourceObjectsD0(), FxPkgPnp::NotifyResourceObjectsDx(), and FxPkgPnp::ValidateInterruptResourceCm().
PWDF_INTERRUPT_INFO FxInterrupt::GetInfo | ( | VOID | ) |
Definition at line 902 of file interruptobject.cpp.
__inline struct _KINTERRUPT * FxInterrupt::GetInterruptPtr | ( | VOID | ) |
Definition at line 34 of file fxinterruptkm.hpp.
Referenced by AcquireLock(), ReleaseLock(), Synchronize(), and WdfInterruptWdmGetInterrupt().
Definition at line 562 of file fxinterrupt.hpp.
Referenced by FxPkgPnp::PnpAssignInterruptsSyncIrql().
|
inline |
Definition at line 768 of file fxinterrupt.hpp.
Referenced by FxPkgPnp::ValidateInterruptResourceCm().
Definition at line 554 of file fxinterrupt.hpp.
Referenced by FxPkgPnp::PnpAssignInterruptsSyncIrql().
_Must_inspect_result_ NTSTATUS FxInterrupt::Initialize | ( | __in CfxDevice * | Device, |
__in FxObject * | Parent, | ||
__in PWDF_INTERRUPT_CONFIG | Configuration | ||
) |
Definition at line 483 of file interruptobject.cpp.
Referenced by _CreateAndInit().
_Must_inspect_result_ NTSTATUS FxInterrupt::InitializeInternal | ( | __in FxObject * | Parent, |
__in PWDF_INTERRUPT_CONFIG | Configuration | ||
) |
Definition at line 38 of file interruptobjectkm.cpp.
Referenced by InitializeWorker().
_Must_inspect_result_ NTSTATUS FxInterrupt::InitializeWorker | ( | __in FxObject * | Parent, |
__in PWDF_INTERRUPT_CONFIG | Configuration | ||
) |
Definition at line 585 of file interruptobject.cpp.
Referenced by Initialize().
Definition at line 1795 of file interruptobject.cpp.
Referenced by Disconnect().
Definition at line 1751 of file interruptobject.cpp.
Definition at line 1731 of file interruptobject.cpp.
Referenced by Connect().
Definition at line 1688 of file interruptobject.cpp.
Definition at line 347 of file interruptobject.cpp.
Definition at line 357 of file fxinterrupt.hpp.
Referenced by Connect(), and Disconnect().
Definition at line 494 of file fxinterrupt.hpp.
Definition at line 829 of file fxinterrupt.hpp.
Referenced by AssignResources().
Definition at line 464 of file fxinterrupt.hpp.
Referenced by AssignResources().
Definition at line 455 of file fxinterrupt.hpp.
Referenced by _Requires_lock_held_(), _Requires_lock_not_held_(), _SynchronizeExecution(), IsPassiveConnect(), and FxPkgPnp::ValidateInterruptResourceCm().
Definition at line 538 of file fxinterrupt.hpp.
Referenced by FxPkgPnp::PnpAssignInterruptsSyncIrql().
Definition at line 391 of file fxinterrupt.hpp.
Referenced by Connect(), and Disconnect().
Definition at line 546 of file fxinterrupt.hpp.
Referenced by FxPkgPnp::PnpAssignInterruptsSyncIrql().
Definition at line 341 of file fxinterrupt.hpp.
Referenced by Disconnect(), FxPkgPnp::SendEventToAllWakeInterrupts(), and FxPkgPnp::ValidateInterruptResourceCm().
Definition at line 891 of file interruptobject.cpp.
Referenced by FxPkgPnp::PnpReleaseHardware().
|
inline |
Definition at line 370 of file fxinterrupt.hpp.
Referenced by FxPkgPnp::SendEventToAllWakeInterrupts().
Definition at line 839 of file fxinterrupt.hpp.
Referenced by WdfInterruptQueueDpcForIsr().
Definition at line 82 of file interruptobjectkm.cpp.
Referenced by QueueDeferredRoutineForIsr().
Definition at line 1812 of file interruptobject.cpp.
Referenced by QueueDeferredRoutineForIsr(), and WdfInterruptQueueWorkItemForIsr().
Definition at line 1932 of file interruptobject.cpp.
Referenced by _Requires_lock_held_(), InterruptDisableInvokeCallback(), InterruptEnableInvokeCallback(), and InvokeWakeInterruptEvtIsr().
Definition at line 457 of file interruptobjectkm.cpp.
Referenced by Connect().
Definition at line 514 of file interruptobjectkm.cpp.
Referenced by Disconnect().
Definition at line 814 of file interruptobject.cpp.
Referenced by FxInterrupt(), and FxPkgPnp::PnpMatchResources().
Definition at line 49 of file fxinterruptkm.hpp.
Referenced by Reset().
Definition at line 1079 of file interruptobject.cpp.
Referenced by DeleteObject(), and FxPkgPnp::NotifyResourceobjectsToReleaseResources().
Definition at line 60 of file fxinterruptkm.hpp.
Referenced by RevokeResources().
Definition at line 349 of file fxinterrupt.hpp.
Referenced by Connect(), and Disconnect().
VOID FxInterrupt::SetPolicy | ( | __in WDF_INTERRUPT_POLICY | Policy, |
__in WDF_INTERRUPT_PRIORITY | Priority, | ||
__in PGROUP_AFFINITY | TargetProcessorSet | ||
) |
Definition at line 1126 of file interruptobject.cpp.
VOID FxInterrupt::SetPolicyInternal | ( | __in WDF_INTERRUPT_POLICY | Policy, |
__in WDF_INTERRUPT_PRIORITY | Priority, | ||
__in PGROUP_AFFINITY | TargetProcessorSet | ||
) |
Definition at line 88 of file fxinterruptkm.hpp.
Referenced by SetPolicy().
Definition at line 589 of file fxinterrupt.hpp.
Referenced by FxPkgPnp::PnpAssignInterruptsSyncIrql().
|
inline |
Definition at line 570 of file fxinterrupt.hpp.
Referenced by FxPkgPnp::PnpAssignInterruptsSyncIrql().
BOOLEAN FxInterrupt::Synchronize | ( | __in PFN_WDF_INTERRUPT_SYNCHRONIZE | Callback, |
__in WDFCONTEXT | Context | ||
) |
Definition at line 1990 of file interruptobject.cpp.
Definition at line 1905 of file interruptobject.cpp.
Definition at line 379 of file interruptobject.cpp.
Definition at line 100 of file interruptobjectkm.cpp.
|
staticprivate |
Definition at line 685 of file fxinterrupt.hpp.
Referenced by InterruptDisable().
|
staticprivate |
Definition at line 622 of file fxinterrupt.hpp.
Referenced by FxInterrupt().
|
staticprivate |
Definition at line 664 of file fxinterrupt.hpp.
Referenced by InterruptEnable().
|
staticprivate |
Definition at line 224 of file fxinterrupt.hpp.
Referenced by Disconnect().
|
staticprivate |
Definition at line 617 of file fxinterrupt.hpp.
Referenced by Synchronize().
Definition at line 611 of file fxinterrupt.hpp.
Referenced by ConnectInternal(), FlushAndRundown(), and Initialize().
|
staticprivate |
Definition at line 614 of file fxinterrupt.hpp.
Referenced by QueueWorkItemForIsr().
|
private |
Definition at line 47 of file fxinterrupt.hpp.
|
private |
Definition at line 148 of file fxinterrupt.hpp.
Referenced by Connect(), Disconnect(), FxInterrupt(), ReportActive(), and ReportInactive().
|
private |
Definition at line 113 of file fxinterrupt.hpp.
Referenced by DeleteObject(), FxInterrupt(), and Initialize().
|
private |
Definition at line 72 of file fxinterrupt.hpp.
Referenced by InitializeWorker(), and IsSharedSpinLock().
|
private |
Definition at line 93 of file fxinterrupt.hpp.
Referenced by DpcHandler(), FxInterrupt(), InitializeWorker(), IsAutomaticSerialization(), and WorkItemHandler().
|
private |
Definition at line 188 of file fxinterrupt.hpp.
Referenced by FxInterrupt().
|
private |
Definition at line 216 of file fxinterrupt.hpp.
Referenced by AssignResources(), DeleteObject(), FxInterrupt(), GetResources(), and RevokeResources().
|
private |
Definition at line 119 of file fxinterrupt.hpp.
Referenced by Connect(), Disconnect(), FxInterrupt(), IsSoftDisconnectCapable(), ReportActive(), and ReportInactive().
|
private |
Definition at line 135 of file fxinterrupt.hpp.
Referenced by FxInterrupt(), Initialize(), OnPostReleaseHardware(), and SetPolicy().
|
private |
Definition at line 238 of file fxinterrupt.hpp.
Referenced by Disconnect(), and FxInterrupt().
|
private |
Definition at line 98 of file fxinterrupt.hpp.
Referenced by FlushAndRundownInternal(), FxInterrupt(), and InitializeWorker().
|
private |
Definition at line 85 of file fxinterrupt.hpp.
Referenced by FxInterrupt(), QueueDpcForIsr(), and QueueWorkItemForIsr().
|
private |
Definition at line 125 of file fxinterrupt.hpp.
Referenced by Connect(), Disconnect(), and FxInterrupt().
|
private |
Definition at line 163 of file fxinterrupt.hpp.
Referenced by FxInterrupt(), Initialize(), InterruptDisable(), and InterruptDisableInvokeCallback().
|
private |
Definition at line 166 of file fxinterrupt.hpp.
Referenced by DpcHandler(), FxInterrupt(), InitializeWorker(), QueueDpcForIsr(), and QueueWorkItemForIsr().
|
private |
Definition at line 162 of file fxinterrupt.hpp.
Referenced by FxInterrupt(), Initialize(), InterruptEnable(), and InterruptEnableInvokeCallback().
|
private |
Definition at line 165 of file fxinterrupt.hpp.
Referenced by FxInterrupt(), InitializeWorker(), and InvokeWakeInterruptEvtIsr().
|
private |
Definition at line 167 of file fxinterrupt.hpp.
Referenced by FxInterrupt(), InitializeWorker(), QueueWorkItemForIsr(), and WorkItemHandler().
|
private |
Definition at line 130 of file fxinterrupt.hpp.
Referenced by Connect(), ConnectInternal(), FxInterrupt(), and Initialize().
|
private |
Definition at line 120 of file fxinterrupt.hpp.
Referenced by Connect(), Disconnect(), ForceDisconnect(), ForceReconnect(), and FxInterrupt().
|
private |
Definition at line 59 of file fxinterrupt.hpp.
Referenced by Connect(), ConnectInternal(), Disconnect(), DisconnectInternal(), ForceDisconnect(), ForceReconnect(), FxInterrupt(), GetInterruptPtr(), InterruptDisable(), InterruptEnable(), IsSoftDisconnectCapable(), ReportActive(), ReportInactive(), and ~FxInterrupt().
|
private |
Definition at line 231 of file fxinterrupt.hpp.
Referenced by Disconnect(), FxInterrupt(), and GetInterruptPtr().
|
private |
Definition at line 210 of file fxinterrupt.hpp.
Referenced by AssignResources(), Connect(), ConnectInternal(), Disconnect(), FxInterrupt(), GetInfo(), GetResourceIrql(), Initialize(), InvokeWakeInterruptEvtIsr(), Reset(), and RevokeResources().
|
private |
Definition at line 181 of file fxinterrupt.hpp.
Referenced by FxInterrupt().
|
private |
Definition at line 244 of file fxinterrupt.hpp.
Referenced by AssignResources(), Disconnect(), and FxInterrupt().
|
private |
Definition at line 66 of file fxinterrupt.hpp.
Referenced by AcquireLock(), FxInterrupt(), and ReleaseLock().
|
private |
Definition at line 109 of file fxinterrupt.hpp.
Referenced by AcquireLock(), Connect(), FxInterrupt(), InitializeWorker(), InterruptDisableInvokeCallback(), InterruptEnableInvokeCallback(), InvokeWakeInterruptEvtIsr(), IsPassiveHandling(), ReleaseLock(), and TryToAcquireLock().
|
private |
Definition at line 204 of file fxinterrupt.hpp.
Referenced by AssignResources(), FxInterrupt(), and IsPassiveConnect().
|
protected |
Definition at line 248 of file fxinterrupt.hpp.
Referenced by FxInterrupt().
|
private |
Definition at line 155 of file fxinterrupt.hpp.
Referenced by AssignResources(), FilterResourceRequirements(), FxInterrupt(), and SetPolicy().
|
private |
Definition at line 156 of file fxinterrupt.hpp.
Referenced by AssignResources(), FilterResourceRequirements(), FxInterrupt(), and SetPolicy().
|
private |
Definition at line 157 of file fxinterrupt.hpp.
Referenced by FilterResourceRequirements(), FxInterrupt(), and SetPolicy().
|
private |
Definition at line 173 of file fxinterrupt.hpp.
Referenced by FxInterrupt().
|
private |
Definition at line 154 of file fxinterrupt.hpp.
Referenced by FilterResourceRequirements(), FxInterrupt(), and SetPolicy().
|
private |
Definition at line 54 of file fxinterrupt.hpp.
Referenced by FilterResourceRequirements(), FxInterrupt(), and Initialize().
|
private |
Definition at line 64 of file fxinterrupt.hpp.
Referenced by Connect(), ConnectInternal(), FxInterrupt(), InitializeWorker(), IsSharedSpinLock(), and SharesLock().
Definition at line 67 of file fxinterrupt.hpp.
Referenced by Connect(), ConnectInternal(), GetSyncIrql(), IsSyncIrqlSet(), Reset(), and SetSyncIrql().
|
private |
Definition at line 87 of file fxinterrupt.hpp.
Referenced by FlushAndRundownInternal(), FlushQueuedWorkitem(), FxInterrupt(), InitializeWorker(), and QueueWorkItemForIsr().
|
private |
Definition at line 104 of file fxinterrupt.hpp.
Referenced by FxInterrupt(), InitializeWorker(), and IsSoftDisconnectCapable().
|
private |
Definition at line 77 of file fxinterrupt.hpp.
Referenced by AcquireLock(), FlushAndRundownInternal(), FxInterrupt(), InitializeWorker(), ReleaseLock(), and TryToAcquireLock().
|
private |
Definition at line 140 of file fxinterrupt.hpp.
Referenced by CreateWakeInterruptMachine(), DeleteObject(), FxInterrupt(), InvokeWakeInterruptEvtIsr(), IsActiveForWake(), IsWakeCapable(), ProcessWakeInterruptEvent(), SetActiveForWake(), and WakeInterruptIsr().