ReactOS  0.4.15-dev-2350-g7194f2f
wdfinterrupt.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_INTERRUPT_CONFIG
 
struct  _WDF_INTERRUPT_INFO
 
struct  _WDF_INTERRUPT_EXTENDED_POLICY
 

Macros

#define WDF_EXTERN_C
 
#define WDF_EXTERN_C_START
 
#define WDF_EXTERN_C_END
 

Typedefs

typedef WDF_EXTERN_C_START enum _WDF_INTERRUPT_POLARITY WDF_INTERRUPT_POLARITY
 
typedef WDF_EXTERN_C_START enum _WDF_INTERRUPT_POLARITYPWDF_INTERRUPT_POLARITY
 
typedef enum _WDF_INTERRUPT_POLICY WDF_INTERRUPT_POLICY
 
typedef enum _WDF_INTERRUPT_POLICYPWDF_INTERRUPT_POLICY
 
typedef enum _WDF_INTERRUPT_PRIORITY WDF_INTERRUPT_PRIORITY
 
typedef enum _WDF_INTERRUPT_PRIORITYPWDF_INTERRUPT_PRIORITY
 
typedef _In_ ULONG MessageID
 
typedef EVT_WDF_INTERRUPT_ISR * PFN_WDF_INTERRUPT_ISR
 
typedef _In_ WDFCONTEXT Context
 
typedef EVT_WDF_INTERRUPT_SYNCHRONIZE * PFN_WDF_INTERRUPT_SYNCHRONIZE
 
typedef _In_ WDFOBJECT AssociatedObject
 
typedef EVT_WDF_INTERRUPT_DPC * PFN_WDF_INTERRUPT_DPC
 
typedef EVT_WDF_INTERRUPT_WORKITEM * PFN_WDF_INTERRUPT_WORKITEM
 
typedef _In_ WDFDEVICE AssociatedDevice
 
typedef EVT_WDF_INTERRUPT_ENABLE * PFN_WDF_INTERRUPT_ENABLE
 
typedef EVT_WDF_INTERRUPT_DISABLE * PFN_WDF_INTERRUPT_DISABLE
 
typedef struct _WDF_INTERRUPT_CONFIG WDF_INTERRUPT_CONFIG
 
typedef struct _WDF_INTERRUPT_CONFIGPWDF_INTERRUPT_CONFIG
 
typedef struct _WDF_INTERRUPT_INFO WDF_INTERRUPT_INFO
 
typedef struct _WDF_INTERRUPT_INFOPWDF_INTERRUPT_INFO
 
typedef struct _WDF_INTERRUPT_EXTENDED_POLICY WDF_INTERRUPT_EXTENDED_POLICY
 
typedef struct _WDF_INTERRUPT_EXTENDED_POLICYPWDF_INTERRUPT_EXTENDED_POLICY
 
typedef _Must_inspect_result_ _IRQL_requires_max_(DISPATCH_LEVEL) WDFAPI NTSTATUS(STDCALL *PFN_WDFINTERRUPTCREATE) (_In_ PWDF_DRIVER_GLOBALS DriverGlobals
 
typedef _Must_inspect_result_ _In_ WDFDEVICE Device
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_INTERRUPT_CONFIG Configuration
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_INTERRUPT_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_INTERRUPT_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFINTERRUPT * Interrupt
 
typedef WDFAPI BOOLEAN(STDCALLPFN_WDFINTERRUPTQUEUEDPCFORISR) (_In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ WDFINTERRUPT Interrupt)
 
typedef WDFAPI BOOLEAN(STDCALLPFN_WDFINTERRUPTQUEUEWORKITEMFORISR) (_In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ WDFINTERRUPT Interrupt)
 
typedef _In_ WDFINTERRUPT _In_ PFN_WDF_INTERRUPT_SYNCHRONIZE Callback = EvtDevicePowerStateChange
 
typedef _In_ _Requires_lock_not_held_(_Curr_) _Acquires_lock_(_Curr_) WDFINTERRUPT Interrupt)
 
typedef _In_ _Requires_lock_held_(_Curr_) _Releases_lock_(_Curr_) WDFINTERRUPT Interrupt) == AcquireExclusive && return != FALSE
 
typedef _Must_inspect_result_ WDFAPI PKINTERRUPT(STDCALLPFN_WDFINTERRUPTWDMGETINTERRUPT) (_In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ WDFINTERRUPT Interrupt)
 
typedef _In_ WDFINTERRUPT _Out_ PWDF_INTERRUPT_INFO Info
 
typedef _In_ WDFINTERRUPT _In_ WDF_INTERRUPT_POLICY Policy
 
typedef _In_ WDFINTERRUPT _In_ WDF_INTERRUPT_POLICY _In_ WDF_INTERRUPT_PRIORITY Priority
 
typedef _In_ WDFINTERRUPT _In_ WDF_INTERRUPT_POLICY _In_ WDF_INTERRUPT_PRIORITY _In_ KAFFINITY TargetProcessorSet
 
typedef _In_ WDFINTERRUPT _In_ PWDF_INTERRUPT_EXTENDED_POLICY PolicyAndGroup
 
typedef WDFAPI WDFDEVICE(STDCALLPFN_WDFINTERRUPTGETDEVICE) (_In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ WDFINTERRUPT Interrupt)
 
typedef _Must_inspect_result_ _Post_satisfies_(return==1||return==0) _IRQL_requires_max_(PASSIVE_LEVEL) WDFAPI BOOLEAN(STDCALL *PFN_WDFINTERRUPTTRYTOACQUIRELOCK) (_In_ PWDF_DRIVER_GLOBALS DriverGlobals ==0
 
typedef _Must_inspect_result_ _In_ _Acquires_lock_(_Curr_)) WDFINTERRUPT Interrupt) = NULL
 

Enumerations

enum  _WDF_INTERRUPT_POLARITY { WdfInterruptPolarityUnknown = 0, WdfInterruptActiveHigh, WdfInterruptActiveLow }
 
enum  _WDF_INTERRUPT_POLICY {
  WdfIrqPolicyMachineDefault = 0, WdfIrqPolicyAllCloseProcessors, WdfIrqPolicyOneCloseProcessor, WdfIrqPolicyAllProcessorsInMachine,
  WdfIrqPolicySpecifiedProcessors, WdfIrqPolicySpreadMessagesAcrossAllProcessors
}
 
enum  _WDF_INTERRUPT_PRIORITY { WdfIrqPriorityUndefined = 0, WdfIrqPriorityLow, WdfIrqPriorityNormal, WdfIrqPriorityHigh }
 

Functions

typedef _Function_class_ (EVT_WDF_INTERRUPT_ISR) _IRQL_requires_same_ _IRQL_requires_min_(PASSIVE_LEVEL) BOOLEAN STDCALL EVT_WDF_INTERRUPT_ISR(_In_ WDFINTERRUPT Interrupt
 
typedef _Function_class_ (EVT_WDF_INTERRUPT_SYNCHRONIZE) _IRQL_requires_same_ _IRQL_requires_min_(PASSIVE_LEVEL) BOOLEAN STDCALL EVT_WDF_INTERRUPT_SYNCHRONIZE(_In_ WDFINTERRUPT Interrupt
 
typedef _Function_class_ (EVT_WDF_INTERRUPT_DPC) _IRQL_requires_same_ _IRQL_requires_(DISPATCH_LEVEL) VOID STDCALL EVT_WDF_INTERRUPT_DPC(_In_ WDFINTERRUPT Interrupt
 
typedef _Function_class_ (EVT_WDF_INTERRUPT_WORKITEM) _IRQL_requires_same_ _IRQL_requires_(PASSIVE_LEVEL) VOID STDCALL EVT_WDF_INTERRUPT_WORKITEM(_In_ WDFINTERRUPT Interrupt
 
typedef _Function_class_ (EVT_WDF_INTERRUPT_ENABLE) _IRQL_requires_same_ _IRQL_requires_min_(PASSIVE_LEVEL) NTSTATUS STDCALL EVT_WDF_INTERRUPT_ENABLE(_In_ WDFINTERRUPT Interrupt
 
typedef _Function_class_ (EVT_WDF_INTERRUPT_DISABLE) _IRQL_requires_same_ _IRQL_requires_min_(PASSIVE_LEVEL) NTSTATUS STDCALL EVT_WDF_INTERRUPT_DISABLE(_In_ WDFINTERRUPT Interrupt
 
FORCEINLINE VOID WDF_INTERRUPT_CONFIG_INIT (_Out_ PWDF_INTERRUPT_CONFIG Configuration, _In_ PFN_WDF_INTERRUPT_ISR EvtInterruptIsr, _In_opt_ PFN_WDF_INTERRUPT_DPC EvtInterruptDpc)
 
FORCEINLINE VOID WDF_INTERRUPT_INFO_INIT (_Out_ PWDF_INTERRUPT_INFO Info)
 
FORCEINLINE VOID WDF_INTERRUPT_EXTENDED_POLICY_INIT (_Out_ PWDF_INTERRUPT_EXTENDED_POLICY ExtendedPolicy)
 
_Must_inspect_result_ _IRQL_requires_max_ (DISPATCH_LEVEL) FORCEINLINE NTSTATUS WdfInterruptCreate(_In_ WDFDEVICE Device
 
FORCEINLINE BOOLEAN WdfInterruptQueueDpcForIsr (_In_ WDFINTERRUPT Interrupt)
 
FORCEINLINE BOOLEAN WdfInterruptQueueWorkItemForIsr (_In_ WDFINTERRUPT Interrupt)
 
typedef _IRQL_requires_max_ (DISPATCH_LEVEL+1) WDFAPI VOID(STDCALL *PFN_WDFINTERRUPTACQUIRELOCK)(_In_ PWDF_DRIVER_GLOBALS DriverGlobals
 
typedef _IRQL_requires_max_ (PASSIVE_LEVEL) WDFAPI VOID(STDCALL *PFN_WDFINTERRUPTENABLE)(_In_ PWDF_DRIVER_GLOBALS DriverGlobals
 
_Must_inspect_result_ FORCEINLINE PKINTERRUPT WdfInterruptWdmGetInterrupt (_In_ WDFINTERRUPT Interrupt)
 
FORCEINLINE WDFDEVICE WdfInterruptGetDevice (_In_ WDFINTERRUPT Interrupt)
 
_Must_inspect_result_ _Post_satisfies_ (return==1||return==0) _IRQL_requires_max_(PASSIVE_LEVEL) FORCEINLINE BOOLEAN WdfInterruptTryToAcquireLock(_In_ _Requires_lock_not_held_(_Curr_) _When_(return!=0
 
_Must_inspect_result_ _Acquires_lock_ (_Curr_)) WDFINTERRUPT Interrupt)
 

Macro Definition Documentation

◆ WDF_EXTERN_C

#define WDF_EXTERN_C

Definition at line 35 of file wdfinterrupt.h.

◆ WDF_EXTERN_C_END

#define WDF_EXTERN_C_END

Definition at line 37 of file wdfinterrupt.h.

◆ WDF_EXTERN_C_START

#define WDF_EXTERN_C_START

Definition at line 36 of file wdfinterrupt.h.

Typedef Documentation

◆ _Acquires_lock_

_Acquires_lock_ = NULL

Definition at line 743 of file wdfinterrupt.h.

◆ _IRQL_requires_max_

typedef _Must_inspect_result_ _IRQL_requires_max_(DISPATCH_LEVEL) WDFAPI NTSTATUS(STDCALL *PFN_WDFINTERRUPTCREATE)(_In_ PWDF_DRIVER_GLOBALS DriverGlobals

Definition at line 365 of file wdfinterrupt.h.

◆ _Post_satisfies_

_Post_satisfies_ ==0

iXlate functions

Definition at line 734 of file wdfinterrupt.h.

◆ _Requires_lock_held_

_In_ _Requires_lock_held_ ( _Curr_  ) == AcquireExclusive && return != FALSE

Definition at line 518 of file wdfinterrupt.h.

◆ _Requires_lock_not_held_

_In_ _Requires_lock_not_held_ ( _Curr_  )

Definition at line 489 of file wdfinterrupt.h.

◆ AssociatedDevice

typedef _In_ WDFDEVICE AssociatedDevice

Definition at line 173 of file wdfinterrupt.h.

◆ AssociatedObject

Definition at line 132 of file wdfinterrupt.h.

◆ Attributes

◆ Callback

◆ Configuration

◆ Context

Initial value:
{
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_INTERRUPT_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFINTERRUPT * Interrupt
Definition: wdfinterrupt.h:372
#define WdfFunctions
Definition: wdf.h:66
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_In_ WDFCONTEXT Context
Definition: wdfinterrupt.h:113
_In_ WDFINTERRUPT _In_ PFN_WDF_INTERRUPT_SYNCHRONIZE Callback
Definition: wdfinterrupt.h:456

Definition at line 113 of file wdfinterrupt.h.

◆ Device

typedef _Must_inspect_result_ _In_ WDFDEVICE Device

Definition at line 372 of file wdfinterrupt.h.

◆ Info

Initial value:
{
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_INTERRUPT_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFINTERRUPT * Interrupt
Definition: wdfinterrupt.h:372
#define WdfFunctions
Definition: wdf.h:66
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_In_ WDFINTERRUPT _Out_ PWDF_INTERRUPT_INFO Info
Definition: wdfinterrupt.h:622

Definition at line 622 of file wdfinterrupt.h.

◆ Interrupt

_In_ WDFINTERRUPT Interrupt
Initial value:
{
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_INTERRUPT_CONFIG Configuration
Definition: wdfinterrupt.h:372
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_INTERRUPT_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFINTERRUPT * Interrupt
Definition: wdfinterrupt.h:372
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_INTERRUPT_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes
Definition: wdfinterrupt.h:372
#define WdfFunctions
Definition: wdf.h:66
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_Must_inspect_result_ _In_ WDFDEVICE Device
Definition: wdfinterrupt.h:372

Definition at line 372 of file wdfinterrupt.h.

◆ MessageID

typedef _In_ ULONG MessageID

Definition at line 92 of file wdfinterrupt.h.

◆ PFN_WDF_INTERRUPT_DISABLE

typedef EVT_WDF_INTERRUPT_DISABLE* PFN_WDF_INTERRUPT_DISABLE

Definition at line 197 of file wdfinterrupt.h.

◆ PFN_WDF_INTERRUPT_DPC

typedef EVT_WDF_INTERRUPT_DPC* PFN_WDF_INTERRUPT_DPC

Definition at line 134 of file wdfinterrupt.h.

◆ PFN_WDF_INTERRUPT_ENABLE

typedef EVT_WDF_INTERRUPT_ENABLE* PFN_WDF_INTERRUPT_ENABLE

Definition at line 175 of file wdfinterrupt.h.

◆ PFN_WDF_INTERRUPT_ISR

typedef EVT_WDF_INTERRUPT_ISR* PFN_WDF_INTERRUPT_ISR

Definition at line 94 of file wdfinterrupt.h.

◆ PFN_WDF_INTERRUPT_SYNCHRONIZE

typedef EVT_WDF_INTERRUPT_SYNCHRONIZE* PFN_WDF_INTERRUPT_SYNCHRONIZE

Definition at line 115 of file wdfinterrupt.h.

◆ PFN_WDF_INTERRUPT_WORKITEM

typedef EVT_WDF_INTERRUPT_WORKITEM* PFN_WDF_INTERRUPT_WORKITEM

Definition at line 153 of file wdfinterrupt.h.

◆ PFN_WDFINTERRUPTGETDEVICE

typedef WDFAPI WDFDEVICE(STDCALL * PFN_WDFINTERRUPTGETDEVICE) (_In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ WDFINTERRUPT Interrupt)

Definition at line 712 of file wdfinterrupt.h.

◆ PFN_WDFINTERRUPTQUEUEDPCFORISR

typedef WDFAPI BOOLEAN(STDCALL * PFN_WDFINTERRUPTQUEUEDPCFORISR) (_In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ WDFINTERRUPT Interrupt)

Definition at line 405 of file wdfinterrupt.h.

◆ PFN_WDFINTERRUPTQUEUEWORKITEMFORISR

typedef WDFAPI BOOLEAN(STDCALL * PFN_WDFINTERRUPTQUEUEWORKITEMFORISR) (_In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ WDFINTERRUPT Interrupt)

Definition at line 428 of file wdfinterrupt.h.

◆ PFN_WDFINTERRUPTWDMGETINTERRUPT

typedef _Must_inspect_result_ WDFAPI PKINTERRUPT(STDCALL * PFN_WDFINTERRUPTWDMGETINTERRUPT) (_In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ WDFINTERRUPT Interrupt)

Definition at line 593 of file wdfinterrupt.h.

◆ Policy

Definition at line 651 of file wdfinterrupt.h.

◆ PolicyAndGroup

Initial value:
{
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_INTERRUPT_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFINTERRUPT * Interrupt
Definition: wdfinterrupt.h:372
#define WdfFunctions
Definition: wdf.h:66
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_In_ WDFINTERRUPT _In_ PWDF_INTERRUPT_EXTENDED_POLICY PolicyAndGroup
Definition: wdfinterrupt.h:688

Definition at line 688 of file wdfinterrupt.h.

◆ Priority

Initial value:
{
_In_ WDFINTERRUPT _In_ WDF_INTERRUPT_POLICY _In_ WDF_INTERRUPT_PRIORITY Priority
Definition: wdfinterrupt.h:651
_Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN _In_opt_ PVOID Tag
Definition: wdfdevice.h:4061
PVOID NTAPI ExAllocatePoolWithTagPriority(IN POOL_TYPE PoolType, IN SIZE_T NumberOfBytes, IN ULONG Tag, IN EX_POOL_PRIORITY Priority)
Definition: expool.c:2960
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS _Inout_ PLARGE_INTEGER NumberOfBytes
Definition: iotypes.h:1035
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE PoolType
Definition: wdfdevice.h:3810

Definition at line 651 of file wdfinterrupt.h.

◆ PWDF_INTERRUPT_CONFIG

◆ PWDF_INTERRUPT_EXTENDED_POLICY

◆ PWDF_INTERRUPT_INFO

◆ PWDF_INTERRUPT_POLARITY

◆ PWDF_INTERRUPT_POLICY

◆ PWDF_INTERRUPT_PRIORITY

◆ TargetProcessorSet

Initial value:
{
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_INTERRUPT_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFINTERRUPT * Interrupt
Definition: wdfinterrupt.h:372
#define WdfFunctions
Definition: wdf.h:66
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_In_ WDFINTERRUPT _In_ WDF_INTERRUPT_POLICY _In_ WDF_INTERRUPT_PRIORITY _In_ KAFFINITY TargetProcessorSet
Definition: wdfinterrupt.h:651
_In_ WDFINTERRUPT _In_ WDF_INTERRUPT_POLICY _In_ WDF_INTERRUPT_PRIORITY Priority
Definition: wdfinterrupt.h:651
_In_ WDFINTERRUPT _In_ WDF_INTERRUPT_POLICY Policy
Definition: wdfinterrupt.h:651

Definition at line 651 of file wdfinterrupt.h.

◆ WDF_INTERRUPT_CONFIG

◆ WDF_INTERRUPT_EXTENDED_POLICY

◆ WDF_INTERRUPT_INFO

◆ WDF_INTERRUPT_POLARITY

◆ WDF_INTERRUPT_POLICY

◆ WDF_INTERRUPT_PRIORITY

Enumeration Type Documentation

◆ _WDF_INTERRUPT_POLARITY

Enumerator
WdfInterruptPolarityUnknown 
WdfInterruptActiveHigh 
WdfInterruptActiveLow 

Definition at line 50 of file wdfinterrupt.h.

50  {
WDF_EXTERN_C_START enum _WDF_INTERRUPT_POLARITY WDF_INTERRUPT_POLARITY
WDF_EXTERN_C_START enum _WDF_INTERRUPT_POLARITY * PWDF_INTERRUPT_POLARITY

◆ _WDF_INTERRUPT_POLICY

Enumerator
WdfIrqPolicyMachineDefault 
WdfIrqPolicyAllCloseProcessors 
WdfIrqPolicyOneCloseProcessor 
WdfIrqPolicyAllProcessorsInMachine 
WdfIrqPolicySpecifiedProcessors 
WdfIrqPolicySpreadMessagesAcrossAllProcessors 

Definition at line 56 of file wdfinterrupt.h.

◆ _WDF_INTERRUPT_PRIORITY

Enumerator
WdfIrqPriorityUndefined 
WdfIrqPriorityLow 
WdfIrqPriorityNormal 
WdfIrqPriorityHigh 

Definition at line 65 of file wdfinterrupt.h.

Function Documentation

◆ _Acquires_lock_()

_Must_inspect_result_ _Acquires_lock_ ( _Curr_  )

Definition at line 755 of file wdfinterrupt.h.

758 {
759  return ((PFN_WDFINTERRUPTTRYTOACQUIRELOCK) WdfFunctions[WdfInterruptTryToAcquireLockTableIndex])(WdfDriverGlobals, Interrupt);
760 }
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_INTERRUPT_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFINTERRUPT * Interrupt
Definition: wdfinterrupt.h:372
#define WdfFunctions
Definition: wdf.h:66
PWDF_DRIVER_GLOBALS WdfDriverGlobals

◆ _Function_class_() [1/6]

typedef _Function_class_ ( EVT_WDF_INTERRUPT_ISR  )

◆ _Function_class_() [2/6]

typedef _Function_class_ ( EVT_WDF_INTERRUPT_SYNCHRONIZE  )

◆ _Function_class_() [3/6]

typedef _Function_class_ ( EVT_WDF_INTERRUPT_DPC  )

◆ _Function_class_() [4/6]

typedef _Function_class_ ( EVT_WDF_INTERRUPT_WORKITEM  )

◆ _Function_class_() [5/6]

typedef _Function_class_ ( EVT_WDF_INTERRUPT_ENABLE  )

◆ _Function_class_() [6/6]

typedef _Function_class_ ( EVT_WDF_INTERRUPT_DISABLE  )

◆ _IRQL_requires_max_() [1/3]

_Must_inspect_result_ _IRQL_requires_max_ ( DISPATCH_LEVEL  )

Definition at line 776 of file wdfinterrupt.h.

783 {
785 }
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_INTERRUPT_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFINTERRUPT * Interrupt
Definition: wdfinterrupt.h:372
#define WdfFunctions
Definition: wdf.h:66
PWDF_DRIVER_GLOBALS WdfDriverGlobals

◆ _IRQL_requires_max_() [2/3]

typedef _IRQL_requires_max_ ( DISPATCH_LEVEL 1)

Definition at line 494 of file wdfinterrupt.h.

503 {
505 }
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_INTERRUPT_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFINTERRUPT * Interrupt
Definition: wdfinterrupt.h:372
#define WdfFunctions
Definition: wdf.h:66
PWDF_DRIVER_GLOBALS WdfDriverGlobals

◆ _IRQL_requires_max_() [3/3]

typedef _IRQL_requires_max_ ( PASSIVE_LEVEL  )

Definition at line 550 of file wdfinterrupt.h.

557 {
559 }
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_INTERRUPT_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFINTERRUPT * Interrupt
Definition: wdfinterrupt.h:372
#define WdfFunctions
Definition: wdf.h:66
PWDF_DRIVER_GLOBALS WdfDriverGlobals

◆ _Post_satisfies_()

_Must_inspect_result_ _Post_satisfies_ ( return  = = 1 || return == 0)
pure virtual

◆ WDF_INTERRUPT_CONFIG_INIT()

FORCEINLINE VOID WDF_INTERRUPT_CONFIG_INIT ( _Out_ PWDF_INTERRUPT_CONFIG  Configuration,
_In_ PFN_WDF_INTERRUPT_ISR  EvtInterruptIsr,
_In_opt_ PFN_WDF_INTERRUPT_DPC  EvtInterruptDpc 
)

Definition at line 271 of file wdfinterrupt.h.

276 {
278 
279  Configuration->Size = sizeof(WDF_INTERRUPT_CONFIG);
280 
281  Configuration->ShareVector = WdfUseDefault;
282 
283  Configuration->EvtInterruptIsr = EvtInterruptIsr;
284  Configuration->EvtInterruptDpc = EvtInterruptDpc;
285 
286  Configuration->ReportInactiveOnPowerDown = WdfUseDefault;
287 }
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_INTERRUPT_CONFIG Configuration
Definition: wdfinterrupt.h:372
struct _WDF_INTERRUPT_CONFIG WDF_INTERRUPT_CONFIG
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262

Referenced by if().

◆ WDF_INTERRUPT_EXTENDED_POLICY_INIT()

FORCEINLINE VOID WDF_INTERRUPT_EXTENDED_POLICY_INIT ( _Out_ PWDF_INTERRUPT_EXTENDED_POLICY  ExtendedPolicy)

Definition at line 349 of file wdfinterrupt.h.

352 {
353  RtlZeroMemory(ExtendedPolicy, sizeof(WDF_INTERRUPT_EXTENDED_POLICY));
354  ExtendedPolicy->Size = sizeof(WDF_INTERRUPT_EXTENDED_POLICY);
355  ExtendedPolicy->Policy = WdfIrqPolicyMachineDefault;
356  ExtendedPolicy->Priority = WdfIrqPriorityUndefined;
357 }
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262
struct _WDF_INTERRUPT_EXTENDED_POLICY WDF_INTERRUPT_EXTENDED_POLICY

◆ WDF_INTERRUPT_INFO_INIT()

FORCEINLINE VOID WDF_INTERRUPT_INFO_INIT ( _Out_ PWDF_INTERRUPT_INFO  Info)

Definition at line 325 of file wdfinterrupt.h.

328 {
330  Info->Size = sizeof(WDF_INTERRUPT_INFO);
331 }
struct _WDF_INTERRUPT_INFO WDF_INTERRUPT_INFO
_Must_inspect_result_ _In_ WDFCHILDLIST _In_ PWDF_CHILD_LIST_ITERATOR _Out_ WDFDEVICE _Inout_opt_ PWDF_CHILD_RETRIEVE_INFO Info
Definition: wdfchildlist.h:683
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262

Referenced by FxInterrupt::FxInterrupt(), and FxInterrupt::RevokeResources().

◆ WdfInterruptGetDevice()

FORCEINLINE WDFDEVICE WdfInterruptGetDevice ( _In_ WDFINTERRUPT  Interrupt)

Definition at line 721 of file wdfinterrupt.h.

725 {
727 }
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_INTERRUPT_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFINTERRUPT * Interrupt
Definition: wdfinterrupt.h:372
#define WdfFunctions
Definition: wdf.h:66
PWDF_DRIVER_GLOBALS WdfDriverGlobals
WDFAPI WDFDEVICE(STDCALL * PFN_WDFINTERRUPTGETDEVICE)(_In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ WDFINTERRUPT Interrupt)
Definition: wdfinterrupt.h:712

◆ WdfInterruptQueueDpcForIsr()

FORCEINLINE BOOLEAN WdfInterruptQueueDpcForIsr ( _In_ WDFINTERRUPT  Interrupt)

Definition at line 414 of file wdfinterrupt.h.

418 {
420 }
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_INTERRUPT_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFINTERRUPT * Interrupt
Definition: wdfinterrupt.h:372
#define WdfFunctions
Definition: wdf.h:66
PWDF_DRIVER_GLOBALS WdfDriverGlobals
WDFAPI BOOLEAN(STDCALL * PFN_WDFINTERRUPTQUEUEDPCFORISR)(_In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ WDFINTERRUPT Interrupt)
Definition: wdfinterrupt.h:405

◆ WdfInterruptQueueWorkItemForIsr()

FORCEINLINE BOOLEAN WdfInterruptQueueWorkItemForIsr ( _In_ WDFINTERRUPT  Interrupt)

Definition at line 437 of file wdfinterrupt.h.

441 {
443 }
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_INTERRUPT_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFINTERRUPT * Interrupt
Definition: wdfinterrupt.h:372
#define WdfFunctions
Definition: wdf.h:66
PWDF_DRIVER_GLOBALS WdfDriverGlobals
WDFAPI BOOLEAN(STDCALL * PFN_WDFINTERRUPTQUEUEWORKITEMFORISR)(_In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ WDFINTERRUPT Interrupt)
Definition: wdfinterrupt.h:428

◆ WdfInterruptWdmGetInterrupt()

_Must_inspect_result_ FORCEINLINE PKINTERRUPT WdfInterruptWdmGetInterrupt ( _In_ WDFINTERRUPT  Interrupt)

Definition at line 603 of file wdfinterrupt.h.

607 {
609 }
_Must_inspect_result_ WDFAPI PKINTERRUPT(STDCALL * PFN_WDFINTERRUPTWDMGETINTERRUPT)(_In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ WDFINTERRUPT Interrupt)
Definition: wdfinterrupt.h:593
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_INTERRUPT_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFINTERRUPT * Interrupt
Definition: wdfinterrupt.h:372
#define WdfFunctions
Definition: wdf.h:66
PWDF_DRIVER_GLOBALS WdfDriverGlobals