#![allow(non_camel_case_types, non_snake_case)]
use crate::co;
use crate::decl::*;
use crate::kernel::privs::*;
use crate::user::ffi;
impl HPROCESS {
pub unsafe fn SetUserObjectInformation<T>(
&self,
index: co::UOI,
pv_info: &mut T,
) -> SysResult<()> {
BoolRet(unsafe {
ffi::SetUserObjectInformationW(
self.ptr(),
index.raw(),
pvoid(pv_info),
std::mem::size_of::<T>() as _,
)
})
.to_sysresult()
}
pub fn WaitForInputIdle(&self, milliseconds: u32) -> SysResult<SuccessTimeout> {
match unsafe { ffi::WaitForInputIdle(self.ptr(), milliseconds) } {
0 => Ok(SuccessTimeout::Success),
0x0000_0102 => Ok(SuccessTimeout::Timeout),
_ => Err(GetLastError()),
}
}
}