ReactOS  0.4.15-dev-2947-g59e1b78
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 
)

◆ 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_SUCCESSstatus)

Definition at line 99 of file fxworkitemapi.cpp.

99  {
100  return status;
101  }
NTSTATUS status

◆ if() [2/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
#define TRACINGDEVICE
Definition: dbgtrace.h:58
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_CHILD_LIST_CONFIG Config
Definition: wdfchildlist.h:474
#define TRACE_LEVEL_ERROR
Definition: storswtr.h:27
PFX_DRIVER_GLOBALS pFxDriverGlobals
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGPNP, "Enter, WDFDEVICE %p", Device)
NTSTATUS status
Definition: ps.c:97

◆ 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 STATUS_INVALID_PARAMETER
Definition: udferr_usr.h:135
#define TRACINGDEVICE
Definition: dbgtrace.h:58
#define TRACE_LEVEL_ERROR
Definition: storswtr.h:27
PFX_DRIVER_GLOBALS pFxDriverGlobals
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGPNP, "Enter, WDFDEVICE %p", Device)
NTSTATUS status
Definition: ps.c:97

◆ if() [4/4]

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

Definition at line 260 of file fxworkitemapi.cpp.

261  {
262  return;
263  }

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 FxWorkItem::_Create().

◆ pParent

FxObject* pParent

Definition at line 92 of file fxworkitemapi.cpp.

◆ status

Initial value:
_Must_inspect_result_ NTSTATUS __inline FxValidateObjectAttributesForParentHandle(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in PWDF_OBJECT_ATTRIBUTES Attributes, __in ULONG Flags=FX_VALIDATE_OPTION_NONE_SPECIFIED)
PFX_DRIVER_GLOBALS pFxDriverGlobals
_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 88 of file fxworkitemapi.cpp.