dxd - dynax driver framework 3.0.2
cross platform open source driver development framework
Loading...
Searching...
No Matches
dx::process Class Reference

a child process with its handles, started and waited for; mmcss inside it is what a streaming thread of this process registers with the multimedia scheduler as More...

#include <dx_sync.h>

Inheritance diagram for dx::process:
Collaboration diagram for dx::process:

Public Member Functions

virtual void free() noexcept
process& kill()
std::string name()
 operator const os_event() const noexcept
 operator os_event() noexcept
 operator ::HANDLE() const noexcept
 process() noexcept
 process(const char* path, char* cmd= {})
 process(const char* path, const char* cmd= {}) noexcept
 process(pid_t id, ::DWORD access= PROCESS_QUERY_LIMITED_INFORMATION)
os_result wait(int64_t timeout= 0)
 ~process()

Static Public Member Functions

static bool admin()
::HANDLE current()
 Windows current process bill thinks its a good idea to return pseudo handle -1 @ GetCurrentProcessHandle(). This converts the pseudo process handle into a real process handle that is valid in the context of other processes, or that can be inherited by other processes.
static void initialize(bool headless= false) noexcept
 the process ready for dxd: an unhandled fault, abort(), assert() or an uncaught exception reported on stderr, never in a dialog. The CRT's part belongs to this binary's own statically linked runtime; headless - a module hosted in a foreign process (the ASIO driver) - leaves the process wide ::SetErrorMode() and the console to the host.
static std::string name(pid_t pid)
static std::string path()
static std::string path(const std::string& filename)
static ::DWORD pid() noexcept
::DWORD session()

Protected Attributes

::HANDLE handle

Detailed Description

a child process with its handles, started and waited for; mmcss inside it is what a streaming thread of this process registers with the multimedia scheduler as

Constructor & Destructor Documentation

◆ process() [1/4]

dx::process::process()
inlinenoexcept
Here is the caller graph for this function:

◆ process() [2/4]

dx::process::process(const char* path, const char* cmd= {})
inlinenoexcept
Here is the call graph for this function:

◆ process() [3/4]

dx::process::process(const char* path, char* cmd= {})
inline
Here is the call graph for this function:

◆ process() [4/4]

dx::process::process(pid_t id, ::DWORD access= PROCESS_QUERY_LIMITED_INFORMATION)
inline
Here is the call graph for this function:

◆ ~process()

dx::process::~process()
inline
Here is the call graph for this function:

Member Function Documentation

◆ admin()

bool dx::process::admin()
inlinestatic

◆ current()

::HANDLE dx::process::current()
inlinestatic

Windows current process bill thinks its a good idea to return pseudo handle -1 @ GetCurrentProcessHandle(). This converts the pseudo process handle into a real process handle that is valid in the context of other processes, or that can be inherited by other processes.

Here is the call graph for this function:

◆ free()

virtual void dx::resource<invalid_t>::free()
inlinevirtualnoexceptinherited

◆ initialize()

void dx::process::initialize(bool headless= false)
inlinestaticnoexcept

the process ready for dxd: an unhandled fault, abort(), assert() or an uncaught exception reported on stderr, never in a dialog. The CRT's part belongs to this binary's own statically linked runtime; headless - a module hosted in a foreign process (the ASIO driver) - leaves the process wide ::SetErrorMode() and the console to the host.

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

◆ kill()

process& dx::process::kill()
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ name() [1/2]

std::string dx::process::name()
inline
Here is the call graph for this function:

◆ name() [2/2]

std::string dx::process::name(pid_t pid)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator const os_event()

dx::resource<invalid_t>::operator const os_event() const
inlinenoexceptinherited

◆ operator os_event()

dx::resource<invalid_t>::operator os_event()
inlinenoexceptinherited

◆ operator ::HANDLE()

dx::resource<invalid_t>::operator ::HANDLE() const
inlinenoexceptinherited
Here is the caller graph for this function:

◆ path() [1/2]

std::string dx::process::path()
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ path() [2/2]

std::string dx::process::path(const std::string& filename)
inlinestatic
Here is the call graph for this function:

◆ pid()

::DWORD dx::process::pid()
inlinestaticnoexcept
Here is the call graph for this function:
Here is the caller graph for this function:

◆ session()

::DWORD dx::process::session()
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ wait()

os_result dx::process::wait(int64_t timeout= 0)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ handle

::HANDLE dx::resource<invalid_t>::handle
protectedinherited

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