dxd - dynax driver framework 3.0.2
cross platform open source driver development framework
Loading...
Searching...
No Matches
dxd::wdm::workitem Class Referenceabstract

WDM workitem helper. More...

#include <dxd_wdm.h>

Public Member Functions

virtual void free()
 waits for a queued or running launch() and frees the item; a derived class calls it from its own destructor, since the run reaches launch() on the derived part
os_result initialize(const ::DEVICE_OBJECT* wdm_device)
void run()
 queues one run: the claim is a compare-exchange, so two callers queue it once
 workitem()= default
 workitem(const ::DEVICE_OBJECT* wdm_device)
virtual ~workitem()

Public Attributes

os_result status{not_initialized}

Protected Member Functions

virtual os_result launch()= 0
 virtual work launch

Detailed Description

WDM workitem helper.

Constructor & Destructor Documentation

◆ workitem() [1/2]

dxd::wdm::workitem::workitem()
default

◆ workitem() [2/2]

dxd::wdm::workitem::workitem(const ::DEVICE_OBJECT* wdm_device)
inline
Here is the call graph for this function:

◆ ~workitem()

virtual dxd::wdm::workitem::~workitem()
inlinevirtual
Here is the call graph for this function:

Member Function Documentation

◆ free()

virtual void dxd::wdm::workitem::free()
inlinevirtual

waits for a queued or running launch() and frees the item; a derived class calls it from its own destructor, since the run reaches launch() on the derived part

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initialize()

os_result dxd::wdm::workitem::initialize(const ::DEVICE_OBJECT* wdm_device)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ launch()

virtual os_result dxd::wdm::workitem::launch()
protectedpure virtual

virtual work launch

◆ run()

void dxd::wdm::workitem::run()
inline

queues one run: the claim is a compare-exchange, so two callers queue it once

Member Data Documentation

◆ status

os_result dxd::wdm::workitem::status{not_initialized}

The documentation for this class was generated from the following file: