Add shim for GetSystemTimePreciseAsFileTime

This is exactly the same as GetSystemTimeAsFileTime except that it promises maximum precision.
This commit is contained in:
Chris Denton 2024-02-26 12:01:55 -03:00
parent 7e6dccc47d
commit eb40adbd46
No known key found for this signature in database
GPG Key ID: 713472F2F45627DE
2 changed files with 5 additions and 4 deletions

View File

@ -110,12 +110,13 @@ fn gettimeofday(
#[allow(non_snake_case, clippy::arithmetic_side_effects)]
fn GetSystemTimeAsFileTime(
&mut self,
shim_name: &str,
LPFILETIME_op: &OpTy<'tcx, Provenance>,
) -> InterpResult<'tcx> {
let this = self.eval_context_mut();
this.assert_target_os("windows", "GetSystemTimeAsFileTime");
this.check_no_isolation("`GetSystemTimeAsFileTime`")?;
this.assert_target_os("windows", shim_name);
this.check_no_isolation(shim_name)?;
let filetime = this.deref_pointer_as(LPFILETIME_op, this.windows_ty_layout("FILETIME"))?;

View File

@ -246,11 +246,11 @@ fn emulate_foreign_item_inner(
}
// Time related shims
"GetSystemTimeAsFileTime" => {
"GetSystemTimeAsFileTime" | "GetSystemTimePreciseAsFileTime" => {
#[allow(non_snake_case)]
let [LPFILETIME] =
this.check_shim(abi, Abi::System { unwind: false }, link_name, args)?;
this.GetSystemTimeAsFileTime(LPFILETIME)?;
this.GetSystemTimeAsFileTime(link_name.as_str(), LPFILETIME)?;
}
"QueryPerformanceCounter" => {
#[allow(non_snake_case)]