dxd - dynax driver framework 3.0.1d223
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=nullptr)
 process (const char *path, const char *cmd=nullptr) 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 headless (bool own_process=true) noexcept
 redirects OS/CRT error reporting - unhandled fault, abort(), assert(), debug heap corruption - from a blocking dialog nobody's there to click, to a plain diagnostic on stderr instead, and keeps the terminal colour probe (dx::tty::color(), run at the colours' first use) from querying a terminal nobody answers for. Call once at startup of a process this call owns outright. own_process gates ::SetErrorMode(): it's a process-wide Win32 setting, not scoped to this module's own statically linked CRT instance like the rest of this function - pass false from code that may be loaded into a host process it doesn't own (e.g. an in-process COM DLL).
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 = nullptr )
inlinenoexcept
Here is the call graph for this function:

◆ process() [3/4]

dx::process::process ( const char * path,
char * cmd = nullptr )
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

◆ headless()

void dx::process::headless ( bool own_process = true)
inlinestaticnoexcept

redirects OS/CRT error reporting - unhandled fault, abort(), assert(), debug heap corruption - from a blocking dialog nobody's there to click, to a plain diagnostic on stderr instead, and keeps the terminal colour probe (dx::tty::color(), run at the colours' first use) from querying a terminal nobody answers for. Call once at startup of a process this call owns outright. own_process gates ::SetErrorMode(): it's a process-wide Win32 setting, not scoped to this module's own statically linked CRT instance like the rest of this function - pass false from code that may be loaded into a host process it doesn't own (e.g. an in-process COM DLL).

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:

(c) copyright 2009 dynamic acoustics e.U. generated on

a closed source license may be obtained by requesting a written permission from dynamic acoustics e.U.
however - governmental use generally and military use especially is strictly prohibited though.