pub trait EvalContextExt<'tcx>: MiriInterpCxExt<'tcx> {
// Provided methods
fn CreateFileW(
&mut self,
file_name: &OpTy<'tcx>,
desired_access: &OpTy<'tcx>,
share_mode: &OpTy<'tcx>,
security_attributes: &OpTy<'tcx>,
creation_disposition: &OpTy<'tcx>,
flags_and_attributes: &OpTy<'tcx>,
template_file: &OpTy<'tcx>,
) -> InterpResult<'tcx, Handle> { ... }
fn GetFileInformationByHandle(
&mut self,
file: &OpTy<'tcx>,
file_information: &OpTy<'tcx>,
) -> InterpResult<'tcx, Scalar> { ... }
fn SetFileInformationByHandle(
&mut self,
file: &OpTy<'tcx>,
class: &OpTy<'tcx>,
file_information: &OpTy<'tcx>,
buffer_size: &OpTy<'tcx>,
) -> InterpResult<'tcx, Scalar> { ... }
fn FlushFileBuffers(
&mut self,
file: &OpTy<'tcx>,
) -> InterpResult<'tcx, Scalar> { ... }
fn MoveFileExW(
&mut self,
existing_name: &OpTy<'tcx>,
new_name: &OpTy<'tcx>,
flags: &OpTy<'tcx>,
) -> InterpResult<'tcx, Scalar> { ... }
fn DeleteFileW(
&mut self,
file_name: &OpTy<'tcx>,
) -> InterpResult<'tcx, Scalar> { ... }
fn NtWriteFile(
&mut self,
handle: &OpTy<'tcx>,
event: &OpTy<'tcx>,
apc_routine: &OpTy<'tcx>,
apc_ctx: &OpTy<'tcx>,
io_status_block: &OpTy<'tcx>,
buf: &OpTy<'tcx>,
n: &OpTy<'tcx>,
byte_offset: &OpTy<'tcx>,
key: &OpTy<'tcx>,
dest: &MPlaceTy<'tcx>,
) -> InterpResult<'tcx, ()> { ... }
fn NtReadFile(
&mut self,
handle: &OpTy<'tcx>,
event: &OpTy<'tcx>,
apc_routine: &OpTy<'tcx>,
apc_ctx: &OpTy<'tcx>,
io_status_block: &OpTy<'tcx>,
buf: &OpTy<'tcx>,
n: &OpTy<'tcx>,
byte_offset: &OpTy<'tcx>,
key: &OpTy<'tcx>,
dest: &MPlaceTy<'tcx>,
) -> InterpResult<'tcx, ()> { ... }
fn SetFilePointerEx(
&mut self,
file: &OpTy<'tcx>,
dist_to_move: &OpTy<'tcx>,
new_fp: &OpTy<'tcx>,
move_method: &OpTy<'tcx>,
) -> InterpResult<'tcx, Scalar> { ... }
}Provided Methods§
fn CreateFileW( &mut self, file_name: &OpTy<'tcx>, desired_access: &OpTy<'tcx>, share_mode: &OpTy<'tcx>, security_attributes: &OpTy<'tcx>, creation_disposition: &OpTy<'tcx>, flags_and_attributes: &OpTy<'tcx>, template_file: &OpTy<'tcx>, ) -> InterpResult<'tcx, Handle>
fn GetFileInformationByHandle( &mut self, file: &OpTy<'tcx>, file_information: &OpTy<'tcx>, ) -> InterpResult<'tcx, Scalar>
fn SetFileInformationByHandle( &mut self, file: &OpTy<'tcx>, class: &OpTy<'tcx>, file_information: &OpTy<'tcx>, buffer_size: &OpTy<'tcx>, ) -> InterpResult<'tcx, Scalar>
fn FlushFileBuffers(&mut self, file: &OpTy<'tcx>) -> InterpResult<'tcx, Scalar>
fn MoveFileExW( &mut self, existing_name: &OpTy<'tcx>, new_name: &OpTy<'tcx>, flags: &OpTy<'tcx>, ) -> InterpResult<'tcx, Scalar>
fn DeleteFileW(&mut self, file_name: &OpTy<'tcx>) -> InterpResult<'tcx, Scalar>
fn NtWriteFile( &mut self, handle: &OpTy<'tcx>, event: &OpTy<'tcx>, apc_routine: &OpTy<'tcx>, apc_ctx: &OpTy<'tcx>, io_status_block: &OpTy<'tcx>, buf: &OpTy<'tcx>, n: &OpTy<'tcx>, byte_offset: &OpTy<'tcx>, key: &OpTy<'tcx>, dest: &MPlaceTy<'tcx>, ) -> InterpResult<'tcx, ()>
fn NtReadFile( &mut self, handle: &OpTy<'tcx>, event: &OpTy<'tcx>, apc_routine: &OpTy<'tcx>, apc_ctx: &OpTy<'tcx>, io_status_block: &OpTy<'tcx>, buf: &OpTy<'tcx>, n: &OpTy<'tcx>, byte_offset: &OpTy<'tcx>, key: &OpTy<'tcx>, dest: &MPlaceTy<'tcx>, ) -> InterpResult<'tcx, ()>
fn SetFilePointerEx( &mut self, file: &OpTy<'tcx>, dist_to_move: &OpTy<'tcx>, new_fp: &OpTy<'tcx>, move_method: &OpTy<'tcx>, ) -> InterpResult<'tcx, Scalar>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".