ntoskrnl-DriverTest: Always call IoCompleteRequest in driver functions.

This commit is contained in:
Sebastian Lackner 2015-10-28 21:51:03 +01:00
parent 2668c19b7f
commit 397a31ae04

View File

@ -1,4 +1,4 @@
From c7174bf7d94ae8d6cd82a6ea02d7161bb2f936f8 Mon Sep 17 00:00:00 2001
From cefae7f0bda6322ac47ce7cf3bc1ee595f94394f Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sun, 18 Jan 2015 05:42:10 +0100
Subject: ntoskrnl.exe/tests: Add initial driver testing framework and
@ -9,13 +9,13 @@ Subject: ntoskrnl.exe/tests: Add initial driver testing framework and
configure.ac | 2 +
dlls/ntoskrnl.exe/tests/Makefile.in | 8 +
dlls/ntoskrnl.exe/tests/driver.sys/Makefile.in | 11 +
dlls/ntoskrnl.exe/tests/driver.sys/driver.c | 130 ++++++++++++
dlls/ntoskrnl.exe/tests/driver.sys/driver.c | 134 ++++++++++++
dlls/ntoskrnl.exe/tests/driver.sys/driver.h | 28 +++
dlls/ntoskrnl.exe/tests/driver.sys/driver.sys.spec | 1 +
dlls/ntoskrnl.exe/tests/ntoskrnl.c | 226 +++++++++++++++++++++
tools/make_makefiles | 9 +-
tools/makedep.c | 174 +++++++++++++++-
10 files changed, 617 insertions(+), 3 deletions(-)
10 files changed, 621 insertions(+), 3 deletions(-)
create mode 100644 dlls/ntoskrnl.exe/tests/Makefile.in
create mode 100644 dlls/ntoskrnl.exe/tests/driver.sys/Makefile.in
create mode 100644 dlls/ntoskrnl.exe/tests/driver.sys/driver.c
@ -118,10 +118,10 @@ index 0000000..bc040e4
+ driver.c
diff --git a/dlls/ntoskrnl.exe/tests/driver.sys/driver.c b/dlls/ntoskrnl.exe/tests/driver.sys/driver.c
new file mode 100644
index 0000000..5756090
index 0000000..35f78d1
--- /dev/null
+++ b/dlls/ntoskrnl.exe/tests/driver.sys/driver.c
@@ -0,0 +1,130 @@
@@ -0,0 +1,134 @@
+/*
+ * ntoskrnl.exe testing framework
+ *
@ -185,6 +185,8 @@ index 0000000..5756090
+
+static NTSTATUS WINAPI driver_Create(DEVICE_OBJECT *device, IRP *irp)
+{
+ irp->IoStatus.Status = STATUS_SUCCESS;
+ IoCompleteRequest(irp, IO_NO_INCREMENT);
+ return STATUS_SUCCESS;
+}
+
@ -212,6 +214,8 @@ index 0000000..5756090
+
+static NTSTATUS WINAPI driver_Close(DEVICE_OBJECT *device, IRP *irp)
+{
+ irp->IoStatus.Status = STATUS_SUCCESS;
+ IoCompleteRequest(irp, IO_NO_INCREMENT);
+ return STATUS_SUCCESS;
+}
+