ReactOS  0.4.15-dev-2352-g3fa57b8
wdftimer.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _WDF_TIMER_CONFIG
 

Macros

#define WDF_EXTERN_C
 
#define WDF_EXTERN_C_START
 
#define WDF_EXTERN_C_END
 
#define TolerableDelayUnlimited   ((ULONG)-1)
 

Typedefs

typedef EVT_WDF_TIMER * PFN_WDF_TIMER
 
typedef struct _WDF_TIMER_CONFIG WDF_TIMER_CONFIG
 
typedef struct _WDF_TIMER_CONFIGPWDF_TIMER_CONFIG
 
typedef _Must_inspect_result_ _IRQL_requires_max_(DISPATCH_LEVEL) WDFAPI NTSTATUS(STDCALL *PFN_WDFTIMERCREATE) (_In_ PWDF_DRIVER_GLOBALS DriverGlobals
 
typedef _Must_inspect_result_ _In_ PWDF_TIMER_CONFIG Config
 
typedef _Must_inspect_result_ _In_ PWDF_TIMER_CONFIG _In_ PWDF_OBJECT_ATTRIBUTES Attributes
 
typedef _Must_inspect_result_ _In_ PWDF_TIMER_CONFIG _In_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFTIMER * Timer
 
typedef _In_ WDFTIMER _In_ LONGLONG DueTime
 
typedef _In_ WDFTIMER _In_ BOOLEAN Wait
 

Functions

typedef _Function_class_ (EVT_WDF_TIMER) _IRQL_requires_same_ _IRQL_requires_max_(DISPATCH_LEVEL) VOID STDCALL EVT_WDF_TIMER(_In_ WDFTIMER Timer)
 
FORCEINLINE VOID WDF_TIMER_CONFIG_INIT (_Out_ PWDF_TIMER_CONFIG Config, _In_ PFN_WDF_TIMER EvtTimerFunc)
 
FORCEINLINE VOID WDF_TIMER_CONFIG_INIT_PERIODIC (_Out_ PWDF_TIMER_CONFIG Config, _In_ PFN_WDF_TIMER EvtTimerFunc, _In_ LONG Period)
 
_Must_inspect_result_ _IRQL_requires_max_ (DISPATCH_LEVEL) FORCEINLINE NTSTATUS WdfTimerCreate(_In_ PWDF_TIMER_CONFIG Config
 
typedef _When_ (Wait==__true, _IRQL_requires_max_(PASSIVE_LEVEL)) _When_(Wait
 

Macro Definition Documentation

◆ TolerableDelayUnlimited

#define TolerableDelayUnlimited   ((ULONG)-1)

Definition at line 50 of file wdftimer.h.

◆ WDF_EXTERN_C

#define WDF_EXTERN_C

Definition at line 35 of file wdftimer.h.

◆ WDF_EXTERN_C_END

#define WDF_EXTERN_C_END

Definition at line 37 of file wdftimer.h.

◆ WDF_EXTERN_C_START

#define WDF_EXTERN_C_START

Definition at line 36 of file wdftimer.h.

Typedef Documentation

◆ _IRQL_requires_max_

Definition at line 146 of file wdftimer.h.

◆ Attributes

◆ Config

Definition at line 153 of file wdftimer.h.

◆ DueTime

Initial value:
{
#define WdfFunctions
Definition: wdf.h:66
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_Must_inspect_result_ _In_ PWDF_TIMER_CONFIG _In_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFTIMER * Timer
Definition: wdftimer.h:153
_In_ WDFTIMER _In_ LONGLONG DueTime
Definition: wdftimer.h:187

Definition at line 187 of file wdftimer.h.

◆ PFN_WDF_TIMER

typedef EVT_WDF_TIMER* PFN_WDF_TIMER

Definition at line 67 of file wdftimer.h.

◆ PWDF_TIMER_CONFIG

◆ Timer

_In_ WDFTIMER Timer
Initial value:
{
#define WdfFunctions
Definition: wdf.h:66
_Must_inspect_result_ _In_ PWDF_TIMER_CONFIG Config
Definition: wdftimer.h:153
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_Must_inspect_result_ _In_ PWDF_TIMER_CONFIG _In_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFTIMER * Timer
Definition: wdftimer.h:153
_Must_inspect_result_ _In_ PWDF_TIMER_CONFIG _In_ PWDF_OBJECT_ATTRIBUTES Attributes
Definition: wdftimer.h:153

Definition at line 153 of file wdftimer.h.

◆ Wait

Initial value:
{
#define WdfFunctions
Definition: wdf.h:66
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_Must_inspect_result_ _In_ PWDF_TIMER_CONFIG _In_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFTIMER * Timer
Definition: wdftimer.h:153
_In_ WDFTIMER _In_ BOOLEAN Wait
Definition: wdftimer.h:217

Definition at line 217 of file wdftimer.h.

◆ WDF_TIMER_CONFIG

Function Documentation

◆ _Function_class_()

typedef _Function_class_ ( EVT_WDF_TIMER  )

◆ _IRQL_requires_max_()

_Must_inspect_result_ _IRQL_requires_max_ ( DISPATCH_LEVEL  )

Definition at line 250 of file wdftimer.h.

257 {
258  return ((PFN_WDFTIMERGETPARENTOBJECT) WdfFunctions[WdfTimerGetParentObjectTableIndex])(WdfDriverGlobals, Timer);
259 }
#define WdfFunctions
Definition: wdf.h:66
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_Must_inspect_result_ _In_ PWDF_TIMER_CONFIG _In_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFTIMER * Timer
Definition: wdftimer.h:153

◆ _When_()

typedef _When_ ( Wait  = = __true,
_IRQL_requires_max_(PASSIVE_LEVEL  
)

◆ WDF_TIMER_CONFIG_INIT()

FORCEINLINE VOID WDF_TIMER_CONFIG_INIT ( _Out_ PWDF_TIMER_CONFIG  Config,
_In_ PFN_WDF_TIMER  EvtTimerFunc 
)

Definition at line 111 of file wdftimer.h.

115 {
117  Config->Size = sizeof(WDF_TIMER_CONFIG);
118  Config->EvtTimerFunc = EvtTimerFunc;
119  Config->Period = 0;
120  Config->AutomaticSerialization = TRUE;
121  Config->TolerableDelay = 0;
122 }
#define TRUE
Definition: types.h:120
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_CHILD_LIST_CONFIG Config
Definition: wdfchildlist.h:474
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262
struct _WDF_TIMER_CONFIG WDF_TIMER_CONFIG

◆ WDF_TIMER_CONFIG_INIT_PERIODIC()

FORCEINLINE VOID WDF_TIMER_CONFIG_INIT_PERIODIC ( _Out_ PWDF_TIMER_CONFIG  Config,
_In_ PFN_WDF_TIMER  EvtTimerFunc,
_In_ LONG  Period 
)

Definition at line 126 of file wdftimer.h.

131 {
133  Config->Size = sizeof(WDF_TIMER_CONFIG);
134  Config->EvtTimerFunc = EvtTimerFunc;
135  Config->Period = Period;
136  Config->AutomaticSerialization = TRUE;
137  Config->TolerableDelay = 0;
138 }
#define TRUE
Definition: types.h:120
_In_ LARGE_INTEGER _In_ ULONG Period
Definition: kefuncs.h:1324
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_CHILD_LIST_CONFIG Config
Definition: wdfchildlist.h:474
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262
struct _WDF_TIMER_CONFIG WDF_TIMER_CONFIG