Trait winsafe::prelude::kernel_Hprocess
source · pub trait kernel_Hprocess: Handle {
Show 21 methods
// Provided methods
fn CheckRemoteDebuggerPresent(&self) -> SysResult<bool> { ... }
fn CreateProcess(
application_name: Option<&str>,
command_line: Option<&str>,
process_attrs: Option<&mut SECURITY_ATTRIBUTES<'_>>,
thread_attrs: Option<&mut SECURITY_ATTRIBUTES<'_>>,
inherit_handles: bool,
creation_flags: CREATE,
environment: Option<Vec<(&str, &str)>>,
current_dir: Option<&str>,
si: &mut STARTUPINFO<'_, '_>
) -> SysResult<CloseHandlePiGuard> { ... }
fn FlushInstructionCache(
&self,
base_address: *mut c_void,
size: usize
) -> SysResult<()> { ... }
fn GetCurrentProcess() -> HPROCESS { ... }
fn GetExitCodeProcess(&self) -> SysResult<u32> { ... }
fn GetGuiResources(&self, flags: GR) -> SysResult<u32> { ... }
fn GetPriorityClass(&self) -> SysResult<PRIORITY_CLASS> { ... }
fn GetProcessHandleCount(&self) -> SysResult<u32> { ... }
fn GetProcessId(&self) -> SysResult<u32> { ... }
fn GetProcessTimes(
&self,
creation: &mut FILETIME,
exit: &mut FILETIME,
kernel: &mut FILETIME,
user: &mut FILETIME
) -> SysResult<()> { ... }
fn IsProcessCritical(&self) -> SysResult<bool> { ... }
fn IsWow64Process(&self) -> SysResult<bool> { ... }
fn OpenProcess(
desired_access: PROCESS,
inherit_handle: bool,
process_id: u32
) -> SysResult<CloseHandleGuard<HPROCESS>> { ... }
fn OpenProcessToken(
&self,
desired_access: TOKEN
) -> SysResult<CloseHandleGuard<HACCESSTOKEN>> { ... }
fn QueryFullProcessImageName(
&self,
flags: PROCESS_NAME
) -> SysResult<String> { ... }
fn QueryProcessAffinityUpdateMode(&self) -> SysResult<PROCESS_AFFINITY> { ... }
fn SetPriorityClass(&self, prority_class: PRIORITY_CLASS) -> SysResult<()> { ... }
fn SetProcessAffinityUpdateMode(
&self,
flags: PROCESS_AFFINITY
) -> SysResult<()> { ... }
fn SetProcessPriorityBoost(
&self,
disable_priority_boost: bool
) -> SysResult<()> { ... }
fn TerminateProcess(&self, exit_code: u32) -> SysResult<()> { ... }
fn WaitForSingleObject(&self, milliseconds: Option<u32>) -> SysResult<WAIT> { ... }
}
kernel
only.Expand description
This trait is enabled with the kernel
feature, and provides methods for
HPROCESS
.
Prefer importing this trait through the prelude:
use winsafe::prelude::*;
Provided Methods§
sourcefn CheckRemoteDebuggerPresent(&self) -> SysResult<bool>
fn CheckRemoteDebuggerPresent(&self) -> SysResult<bool>
CheckRemoteDebuggerPresent
function.
sourcefn CreateProcess(
application_name: Option<&str>,
command_line: Option<&str>,
process_attrs: Option<&mut SECURITY_ATTRIBUTES<'_>>,
thread_attrs: Option<&mut SECURITY_ATTRIBUTES<'_>>,
inherit_handles: bool,
creation_flags: CREATE,
environment: Option<Vec<(&str, &str)>>,
current_dir: Option<&str>,
si: &mut STARTUPINFO<'_, '_>
) -> SysResult<CloseHandlePiGuard>
fn CreateProcess( application_name: Option<&str>, command_line: Option<&str>, process_attrs: Option<&mut SECURITY_ATTRIBUTES<'_>>, thread_attrs: Option<&mut SECURITY_ATTRIBUTES<'_>>, inherit_handles: bool, creation_flags: CREATE, environment: Option<Vec<(&str, &str)>>, current_dir: Option<&str>, si: &mut STARTUPINFO<'_, '_> ) -> SysResult<CloseHandlePiGuard>
CreateProcess
function.
sourcefn FlushInstructionCache(
&self,
base_address: *mut c_void,
size: usize
) -> SysResult<()>
fn FlushInstructionCache( &self, base_address: *mut c_void, size: usize ) -> SysResult<()>
FlushInstructionCache
function.
sourcefn GetCurrentProcess() -> HPROCESS
fn GetCurrentProcess() -> HPROCESS
GetCurrentProcess
function.
sourcefn GetExitCodeProcess(&self) -> SysResult<u32>
fn GetExitCodeProcess(&self) -> SysResult<u32>
GetExitCodeProcess
function.
sourcefn GetGuiResources(&self, flags: GR) -> SysResult<u32>
fn GetGuiResources(&self, flags: GR) -> SysResult<u32>
GetGuiResources
function.
sourcefn GetPriorityClass(&self) -> SysResult<PRIORITY_CLASS>
fn GetPriorityClass(&self) -> SysResult<PRIORITY_CLASS>
GetPriorityClass
function.
sourcefn GetProcessHandleCount(&self) -> SysResult<u32>
fn GetProcessHandleCount(&self) -> SysResult<u32>
GetProcessHandleCount
function.
sourcefn GetProcessId(&self) -> SysResult<u32>
fn GetProcessId(&self) -> SysResult<u32>
GetProcessId
function.
sourcefn GetProcessTimes(
&self,
creation: &mut FILETIME,
exit: &mut FILETIME,
kernel: &mut FILETIME,
user: &mut FILETIME
) -> SysResult<()>
fn GetProcessTimes( &self, creation: &mut FILETIME, exit: &mut FILETIME, kernel: &mut FILETIME, user: &mut FILETIME ) -> SysResult<()>
GetProcessTimes
function.
sourcefn IsProcessCritical(&self) -> SysResult<bool>
fn IsProcessCritical(&self) -> SysResult<bool>
IsProcessCritical
function.
sourcefn IsWow64Process(&self) -> SysResult<bool>
fn IsWow64Process(&self) -> SysResult<bool>
IsWow64Process
function.
sourcefn OpenProcess(
desired_access: PROCESS,
inherit_handle: bool,
process_id: u32
) -> SysResult<CloseHandleGuard<HPROCESS>>
fn OpenProcess( desired_access: PROCESS, inherit_handle: bool, process_id: u32 ) -> SysResult<CloseHandleGuard<HPROCESS>>
OpenProcess
function.
This method will return
ERROR::INVALID_PARAMETER
if you
try to open a system process.
sourcefn OpenProcessToken(
&self,
desired_access: TOKEN
) -> SysResult<CloseHandleGuard<HACCESSTOKEN>>
fn OpenProcessToken( &self, desired_access: TOKEN ) -> SysResult<CloseHandleGuard<HACCESSTOKEN>>
OpenProcessToken
function.
§Examples
use winsafe::{self as w, prelude::*, co};
let htoken = w::HPROCESS::GetCurrentProcess()
.OpenProcessToken(co::TOKEN::ADJUST_PRIVILEGES | co::TOKEN::QUERY)?;
sourcefn QueryFullProcessImageName(&self, flags: PROCESS_NAME) -> SysResult<String>
fn QueryFullProcessImageName(&self, flags: PROCESS_NAME) -> SysResult<String>
QueryFullProcessImageName
function.
sourcefn QueryProcessAffinityUpdateMode(&self) -> SysResult<PROCESS_AFFINITY>
fn QueryProcessAffinityUpdateMode(&self) -> SysResult<PROCESS_AFFINITY>
QueryProcessAffinityUpdateMode
function.
sourcefn SetPriorityClass(&self, prority_class: PRIORITY_CLASS) -> SysResult<()>
fn SetPriorityClass(&self, prority_class: PRIORITY_CLASS) -> SysResult<()>
SetPriorityClass
function.
sourcefn SetProcessAffinityUpdateMode(&self, flags: PROCESS_AFFINITY) -> SysResult<()>
fn SetProcessAffinityUpdateMode(&self, flags: PROCESS_AFFINITY) -> SysResult<()>
SetProcessAffinityUpdateMode
function.
sourcefn SetProcessPriorityBoost(&self, disable_priority_boost: bool) -> SysResult<()>
fn SetProcessPriorityBoost(&self, disable_priority_boost: bool) -> SysResult<()>
SetProcessPriorityBoost
function.
sourcefn TerminateProcess(&self, exit_code: u32) -> SysResult<()>
fn TerminateProcess(&self, exit_code: u32) -> SysResult<()>
TerminateProcess
function.
sourcefn WaitForSingleObject(&self, milliseconds: Option<u32>) -> SysResult<WAIT>
fn WaitForSingleObject(&self, milliseconds: Option<u32>) -> SysResult<WAIT>
WaitForSingleObject
function.