ReactOS 0.4.15-dev-7953-g1f49173
fxworkitemapi.cpp File Reference
#include "coreprivshared.hpp"
#include "fxworkitem.hpp"
Include dependency graph for fxworkitemapi.cpp:

Go to the source code of this file.

Functions

_Must_inspect_result_ __drv_maxIRQL (DISPATCH_LEVEL) NTSTATUS STDCALL WDFEXPORT(WdfWorkItemCreate)(__in PWDF_DRIVER_GLOBALS DriverGlobals
 
 if (!NT_SUCCESS(status))
 
 FxObjectHandleGetPtrAndGlobals (pFxDriverGlobals, Attributes->ParentObject, FX_TYPE_OBJECT,(PVOID *)&pParent, &pFxDriverGlobals)
 
 FxPointerNotNull (pFxDriverGlobals, Config)
 
 FxPointerNotNull (pFxDriverGlobals, WorkItem)
 
 if (Config->Size !=sizeof(WDF_WORKITEM_CONFIG))
 
 if (Config->EvtWorkItemFunc==NULL)
 
 FxObjectHandleGetPtr (GetFxDriverGlobals(DriverGlobals), WorkItem, FX_TYPE_WORKITEM,(PVOID *)&pFxWorkItem)
 
pFxWorkItem Enqueue ()
 
return pFxWorkItem GetAssociatedObject ()
 
 __drv_maxIRQL (PASSIVE_LEVEL) VOID STDCALL WDFEXPORT(WdfWorkItemFlush)(__in PWDF_DRIVER_GLOBALS DriverGlobals
 
 if (!NT_SUCCESS(FxVerifierCheckIrqlLevel(pFxWorkItem->GetDriverGlobals(), PASSIVE_LEVEL)))
 
pFxWorkItem FlushAndWait ()
 

Variables

_Must_inspect_result_ __in PWDF_WORKITEM_CONFIG Config
 
_Must_inspect_result_ __in PWDF_WORKITEM_CONFIG __in PWDF_OBJECT_ATTRIBUTES Attributes
 
_Must_inspect_result_ __in PWDF_WORKITEM_CONFIG __in PWDF_OBJECT_ATTRIBUTES __out WDFWORKITEM * WorkItem
 
PFX_DRIVER_GLOBALS pFxDriverGlobals = GetFxDriverGlobals(DriverGlobals)
 
FxObjectpParent
 
NTSTATUS status
 
FxWorkItempFxWorkItem
 

Function Documentation

◆ __drv_maxIRQL() [1/2]

◆ __drv_maxIRQL() [2/2]

__drv_maxIRQL ( PASSIVE_LEVEL  )

◆ Enqueue()

pFxWorkItem Enqueue ( )

◆ FlushAndWait()

pFxWorkItem FlushAndWait ( )

◆ FxObjectHandleGetPtr()

FxObjectHandleGetPtr ( GetFxDriverGlobals(DriverGlobals ,
WorkItem  ,
FX_TYPE_WORKITEM  ,
(PVOID *)&  pFxWorkItem 
)

Referenced by __drv_maxIRQL().

◆ FxObjectHandleGetPtrAndGlobals()

FxObjectHandleGetPtrAndGlobals ( pFxDriverGlobals  ,
Attributes->  ParentObject,
FX_TYPE_OBJECT  ,
(PVOID *)&  pParent,
pFxDriverGlobals 
)

◆ FxPointerNotNull() [1/2]

FxPointerNotNull ( pFxDriverGlobals  ,
Config   
)

◆ FxPointerNotNull() [2/2]

FxPointerNotNull ( pFxDriverGlobals  ,
WorkItem   
)

◆ GetAssociatedObject()

return pFxWorkItem GetAssociatedObject ( )

◆ if() [1/4]

if ( NT_SUCCESSFxVerifierCheckIrqlLevel(pFxWorkItem->GetDriverGlobals(), PASSIVE_LEVEL))

Definition at line 260 of file fxworkitemapi.cpp.

261 {
262 return;
263 }

◆ if() [2/4]

if ( NT_SUCCESSstatus)

Definition at line 99 of file fxworkitemapi.cpp.

99 {
100 return status;
101 }
NTSTATUS status

◆ if() [3/4]

if ( Config->  EvtWorkItemFunc = NULL)

Definition at line 123 of file fxworkitemapi.cpp.

123 {
125
127 "Supplied EvtWorkItemFunc == NULL, %!STATUS!",
128 status);
129
130 return status;
131 }
#define TRACINGDEVICE
Definition: dbgtrace.h:58
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGPNP, "Enter, WDFDEVICE %p", Device)
PFX_DRIVER_GLOBALS pFxDriverGlobals
#define TRACE_LEVEL_ERROR
Definition: storswtr.h:27
Definition: ps.c:97
#define STATUS_INVALID_PARAMETER
Definition: udferr_usr.h:135

◆ if() [4/4]

Definition at line 112 of file fxworkitemapi.cpp.

112 {
114
117 "WDF_WORKITEM_CONFIG Size got %d, expected %d, %!STATUS!",
118 Config->Size, sizeof(WDF_WORKITEM_CONFIG), status);
119
120 return status;
121 }
#define STATUS_INFO_LENGTH_MISMATCH
Definition: udferr_usr.h:133
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_CHILD_LIST_CONFIG Config
Definition: wdfchildlist.h:476

Variable Documentation

◆ Attributes

◆ Config

◆ pFxDriverGlobals

pFxDriverGlobals = GetFxDriverGlobals(DriverGlobals)

Definition at line 91 of file fxworkitemapi.cpp.

Referenced by if().

◆ pFxWorkItem

FxWorkItem * pFxWorkItem

Definition at line 173 of file fxworkitemapi.cpp.

Referenced by __drv_maxIRQL(), and FxWorkItem::_Create().

◆ pParent

FxObject* pParent

Definition at line 92 of file fxworkitemapi.cpp.

◆ status

Initial value:
@ FX_VALIDATE_OPTION_PARENT_REQUIRED
_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_ _In_ WDFDMAENABLER _In_ _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes

Definition at line 93 of file fxworkitemapi.cpp.

Referenced by if().

◆ WorkItem

__in WDFWORKITEM WorkItem
Initial value:
{
#define DDI_ENTRY()
Definition: fxglobalskm.h:56

Definition at line 52 of file fxworkitemapi.cpp.