From 24af17846d14b290aa1d90e37e98c4cbe9e173e1 Mon Sep 17 00:00:00 2001 From: pravic Date: Tue, 12 Apr 2016 18:12:52 +0300 Subject: add winapi-km-rs docs --- doc/src/km/dpc.rs.html | 190 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 190 insertions(+) create mode 100644 doc/src/km/dpc.rs.html (limited to 'doc/src/km/dpc.rs.html') diff --git a/doc/src/km/dpc.rs.html b/doc/src/km/dpc.rs.html new file mode 100644 index 0000000..0b59d75 --- /dev/null +++ b/doc/src/km/dpc.rs.html @@ -0,0 +1,190 @@ + + + + + + + + + + dpc.rs.html -- source + + + + + + + + + + + + + + + + + +
 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+
+//! Deferred Procedure Calls (DPC).
+
+use ::basedef::*;
+
+extern "system"
+{
+	pub fn KeInitializeDpc(Dpc: *mut KDPC, DeferredRoutine: PDEFERRED_ROUTINE, DeferredContext: *mut u8);
+	pub fn KeInsertQueueDpc(Dpc: *mut KDPC, SystemArgument1: *const u8, SystemArgument2: *const u8) -> bool;
+	pub fn KeRemoveQueueDpc(Dpc: *mut KDPC) -> bool;
+	pub fn KeFlushQueuedDpcs();
+	pub fn KeGenericCallDpc(DeferredRoutine: PDEFERRED_ROUTINE, DeferredContext: *mut u8);
+}
+
+pub type PDEFERRED_ROUTINE = extern "system" fn (Dpc: *const KDPC, DeferredContext: *mut u8, SystemArgument1: *const u8, SystemArgument2: *const u8);
+
+/// Deferred Procedure Call object.
+#[repr(C)]
+pub struct KDPC
+{
+	Type: u8,
+	Number: u8,
+	Importance: u8,
+
+	DpcListEntry: LIST_ENTRY,
+	DeferredRoutine: PDEFERRED_ROUTINE,
+	DeferredContext: *mut u8,
+	SystemArgument1: *mut u8,
+	SystemArgument2: *mut u8,
+
+	DpcData: *mut KDPC_DATA,
+}
+
+/// DPC data structure definition.
+#[repr(C)]
+pub struct KDPC_DATA
+{
+	DpcListHead: LIST_ENTRY,
+	DpcLock: KSPIN_LOCK,
+	DpcQueueDepth: i32,
+	DpcCount: u32,
+}
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file -- cgit v1.2.3