11#define HUB_TAG_DRIVER 'w3HU'
12#define HUB_TAG_HUB 'h3HU'
13#define HUB_TAG_DEVICE 'd3HU'
14#define HUB_TAG_PORT 'p3HU'
76 WdfWaitLockRelease(
m_Lock);
109 DueTime.QuadPart = -10000LL * Milliseconds;
HubSpinLockGuard(const HubSpinLockGuard &)=delete
HubSpinLockGuard(_Inout_ PKSPIN_LOCK Lock)
HubSpinLockGuard & operator=(const HubSpinLockGuard &)=delete
VOID Start(_In_ ULONG Milliseconds)
static VOID NTAPI DpcRoutine(_In_ PKDPC Dpc, _In_opt_ PVOID Context, _In_opt_ PVOID Argument1, _In_opt_ PVOID Argument2)
PFN_HUB_TIMER_FIRED m_Fired
VOID(NTAPI * PFN_HUB_TIMER_FIRED)(_In_ PVOID Context)
VOID Initialize(_In_ PFN_HUB_TIMER_FIRED Fired, _In_ PVOID Context)
HubWaitLockGuard(const HubWaitLockGuard &)=delete
HubWaitLockGuard(_In_ WDFWAITLOCK Lock)
HubWaitLockGuard & operator=(const HubWaitLockGuard &)=delete
_Check_return_ _In_ DXGK_EVENT_TYPE _In_ ULONG Event
VOID NTAPI KeInitializeDpc(IN PKDPC Dpc, IN PKDEFERRED_ROUTINE DeferredRoutine, IN PVOID DeferredContext)
#define _IRQL_requires_(irql)
#define KeRaiseIrql(irql, oldIrql)
#define KeReleaseSpinLock(sl, irql)
#define KeLowerIrql(oldIrql)
#define KeAcquireSpinLock(sl, irql)
FORCEINLINE VOID NTAPI HubDereferenceDeferred(_In_ WDFOBJECT Object)
FORCEINLINE VOID NTAPI HubDeleteDeferred(_In_ WDFOBJECT Object)
FORCEINLINE BOOLEAN NTAPI HubIsListEntryLinked(_In_ const LIST_ENTRY *Entry)
FORCEINLINE VOID NTAPI HubClearListEntry(_Out_ PLIST_ENTRY Entry)
_In_ PIRP _In_ PIO_COMPLETION_ROUTINE _In_ PVOID Context
#define UNREFERENCED_PARAMETER(P)
struct _LIST_ENTRY * Blink
struct _LIST_ENTRY * Flink
BOOLEAN NTAPI KeSetTimer(IN OUT PKTIMER Timer, IN LARGE_INTEGER DueTime, IN PKDPC Dpc OPTIONAL)
BOOLEAN NTAPI KeCancelTimer(IN OUT PKTIMER Timer)
VOID NTAPI KeInitializeTimer(OUT PKTIMER Timer)
_Must_inspect_result_ _In_ WDFCOLLECTION _In_ WDFOBJECT Object
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
_Must_inspect_result_ _In_ PWDF_DPC_CONFIG _In_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFDPC * Dpc
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ _Strict_type_match_ POOL_TYPE _In_opt_ ULONG _In_ _Out_ WDFMEMORY * Memory
#define WdfObjectDereference(Handle)
_Must_inspect_result_ FORCEINLINE NTSTATUS WdfWaitLockAcquire(_In_ _Requires_lock_not_held_(_Curr_) WDFWAITLOCK Lock, _In_opt_ PLONGLONG Timeout)
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFWAITLOCK * Lock
_In_ WDFTIMER _In_ LONGLONG DueTime
_IRQL_requires_same_ _In_opt_ PVOID Argument1