113 "PWDF_TIMER_CONFIG Size %d, expected %d, %!STATUS!",
124 "Period value %u for a periodic timer cannot be greater than "
142 "TolerableDelay value %u cannot be greater than MAXLONG, "
151#if (FX_CORE_MODE == FX_CORE_USER_MODE)
152 if (
Config->UseHighResolutionTimer) {
157 "UseHighResolutionTimer option is not supported for UMDF "
163 if ((
Config->TolerableDelay > 0) &&
164 (
Config->UseHighResolutionTimer)) {
170 "UseHighResolutionTimer option sepcified with non zero tolerable delay %u "
190 "Passive level periodic timer is not supported. "
191 "Use one shot timer and queue the next timer from the callback "
192 "or use a dedicated thread, %!STATUS!",
BOOLEAN Stop(__in BOOLEAN Wait)
WDFOBJECT GetObject(VOID)
static _Must_inspect_result_ NTSTATUS _Create(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in PWDF_TIMER_CONFIG Config, __in PWDF_OBJECT_ATTRIBUTES Attributes, __in FxObject *ParentObject, __out WDFTIMER *Timer)
BOOLEAN Start(__in LARGE_INTEGER DueTime)
#define STATUS_NOT_SUPPORTED
#define STATUS_NOT_IMPLEMENTED
#define NT_SUCCESS(StatCode)
#define __drv_when(cond, annotes)
#define __drv_maxIRQL(irql)
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGPNP, "Enter, WDFDEVICE %p", Device)
__inline PFX_DRIVER_GLOBALS GetFxDriverGlobals(__in PWDF_DRIVER_GLOBALS DriverGlobals)
#define FxPointerNotNull(FxDriverGlobals, Ptr)
__in WDFTIMER __in LONGLONG DueTime
__in WDFTIMER __in BOOLEAN Wait
_Must_inspect_result_ __in PWDF_TIMER_CONFIG __in PWDF_OBJECT_ATTRIBUTES __out WDFTIMER * Timer
FxObjectHandleGetPtrAndGlobals(pFxDriverGlobals, Attributes->ParentObject, FX_TYPE_OBJECT,(PVOID *)&pParent, &pFxDriverGlobals)
FxObjectHandleGetPtr(GetFxDriverGlobals(DriverGlobals), Timer, FX_TYPE_TIMER,(PVOID *)&pFxTimer)
_Must_inspect_result_ __in PWDF_TIMER_CONFIG Config
_Must_inspect_result_ __in PWDF_TIMER_CONFIG __in PWDF_OBJECT_ATTRIBUTES Attributes
PFX_DRIVER_GLOBALS pFxDriverGlobals
@ FX_VALIDATE_OPTION_PARENT_REQUIRED
@ FX_VALIDATE_OPTION_EXECUTION_LEVEL_ALLOWED
_Must_inspect_result_ NTSTATUS __inline FxValidateObjectAttributesForParentHandle(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in PWDF_OBJECT_ATTRIBUTES Attributes, __in ULONG Flags=FX_VALIDATE_OPTION_NONE_SPECIFIED)
_Must_inspect_result_ NTSTATUS FxValidateObjectAttributes(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in PWDF_OBJECT_ATTRIBUTES Attributes, __in ULONG Flags=FX_VALIDATE_OPTION_NONE_SPECIFIED)
__inline NTSTATUS FxVerifierCheckIrqlLevel(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in KIRQL Irql)
#define _Must_inspect_result_
#define TRACE_LEVEL_ERROR
_Must_inspect_result_ BOOLEAN IsVersionGreaterThanOrEqualTo(__in ULONG Major, __in ULONG Minor)
#define STATUS_INVALID_PARAMETER
#define STATUS_INFO_LENGTH_MISMATCH
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_CHILD_LIST_CONFIG Config
_Must_inspect_result_ _In_ WDFDMAENABLER _In_ _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes
_In_ WDFDPC _In_ BOOLEAN Wait
@ WdfExecutionLevelPassive