https://git.reactos.org/?p=reactos.git;a=commitdiff;h=a76b8843a88fedd4d1815…
commit a76b8843a88fedd4d1815704412d110006b2000e
Author: Pierre Schweitzer <pierre(a)reactos.org>
AuthorDate: Tue Dec 25 13:44:44 2018 +0100
Commit: Pierre Schweitzer <pierre(a)reactos.org>
CommitDate: Tue Dec 25 13:50:40 2018 +0100
[NTOSKRNL_VISTA] Implement IoGetIrpExtraCreateParameter
CORE-15452
---
sdk/lib/drivers/ntoskrnl_vista/CMakeLists.txt | 1 +
sdk/lib/drivers/ntoskrnl_vista/io.c | 27 +++++++++++++++++++++++++++
2 files changed, 28 insertions(+)
diff --git a/sdk/lib/drivers/ntoskrnl_vista/CMakeLists.txt
b/sdk/lib/drivers/ntoskrnl_vista/CMakeLists.txt
index 0fdafabeb9..0fd8fd8c7e 100644
--- a/sdk/lib/drivers/ntoskrnl_vista/CMakeLists.txt
+++ b/sdk/lib/drivers/ntoskrnl_vista/CMakeLists.txt
@@ -5,6 +5,7 @@ add_definitions(-DUNICODE -D_UNICODE -D__NTOSKRNL__ -D_NTOSKRNL_
-D_NTSYSTEM_)
list(APPEND SOURCE
fsrtl.c
+ io.c
ke.c
rtl.c)
diff --git a/sdk/lib/drivers/ntoskrnl_vista/io.c b/sdk/lib/drivers/ntoskrnl_vista/io.c
new file mode 100644
index 0000000000..1d88cbb68f
--- /dev/null
+++ b/sdk/lib/drivers/ntoskrnl_vista/io.c
@@ -0,0 +1,27 @@
+/*
+ * PROJECT: ReactOS Kernel - Vista+ APIs
+ * LICENSE: GPL v2 - See COPYING in the top level directory
+ * FILE: lib/drivers/ntoskrnl_vista/io.c
+ * PURPOSE: Io functions of Vista+
+ * PROGRAMMERS: Pierre Schweitzer <pierre(a)reactos.org>
+ */
+
+#include <ntdef.h>
+#include <ntifs.h>
+
+NTKERNELAPI
+NTSTATUS
+NTAPI
+IoGetIrpExtraCreateParameter(IN PIRP Irp,
+ OUT PECP_LIST *ExtraCreateParameter)
+{
+ /* Check we have a create operation */
+ if (!BooleanFlagOn(Irp->Flags, IRP_CREATE_OPERATION))
+ {
+ return STATUS_INVALID_PARAMETER;
+ }
+
+ /* If so, return user buffer */
+ *ExtraCreateParameter = Irp->UserBuffer;
+ return STATUS_SUCCESS;
+}