summaryrefslogtreecommitdiff
path: root/crates/windows-kernel-rs/src/request.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/windows-kernel-rs/src/request.rs')
-rw-r--r--crates/windows-kernel-rs/src/request.rs29
1 files changed, 22 insertions, 7 deletions
diff --git a/crates/windows-kernel-rs/src/request.rs b/crates/windows-kernel-rs/src/request.rs
index 7717071..af77fd7 100644
--- a/crates/windows-kernel-rs/src/request.rs
+++ b/crates/windows-kernel-rs/src/request.rs
@@ -64,7 +64,7 @@ impl IoRequest {
pub fn irp_mut(&self) -> &mut IRP { unsafe { &mut *self.irp } }
pub fn flags(&self) -> IrpFlags {
- IrpFlags::from_bits(self.irp().Flags).unwrap_or(IrpFlags::empty())
+ IrpFlags::from_bits(self.irp().Flags).unwrap_or_else(IrpFlags::empty)
}
pub fn stack_location(&self) -> &IO_STACK_LOCATION {
@@ -142,8 +142,13 @@ impl ReadRequest {
}
}
-impl Into<IoRequest> for ReadRequest {
- fn into(self) -> IoRequest { self.inner }
+// impl Into<IoRequest> for ReadRequest {
+// fn into(self) -> IoRequest { self.inner }
+// }
+impl From<ReadRequest> for IoRequest {
+ fn from(r: ReadRequest) -> Self {
+ r.inner
+ }
}
pub struct WriteRequest {
@@ -195,8 +200,13 @@ impl WriteRequest {
}
}
-impl Into<IoRequest> for WriteRequest {
- fn into(self) -> IoRequest { self.inner }
+// impl Into<IoRequest> for WriteRequest {
+// fn into(self) -> IoRequest { self.inner }
+// }
+impl From<WriteRequest> for IoRequest {
+ fn from(w: WriteRequest) -> Self {
+ w.inner
+ }
}
pub struct IoControlRequest {
@@ -262,6 +272,11 @@ impl IoControlRequest {
}
}
-impl Into<IoRequest> for IoControlRequest {
- fn into(self) -> IoRequest { self.inner }
+// impl Into<IoRequest> for IoControlRequest {
+// fn into(self) -> IoRequest { self.inner }
+// }
+impl From<IoControlRequest> for IoRequest {
+ fn from(i: IoControlRequest) -> Self {
+ i.inner
+ }
}