ntoskrnl.exe: add a stub for IoCsqInitialize

Austin English austinenglish at gmail.com
Tue Nov 4 18:29:11 CST 2014


https://bugs.winehq.org/show_bug.cgi?id=36777

-- 
-Austin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-patches/attachments/20141104/34925d2a/attachment.html>
-------------- next part --------------
From 22d189a104fadd80a2139af2079314827493c323 Mon Sep 17 00:00:00 2001
From: Austin English <austinenglish at gmail.com>
Date: Tue, 4 Nov 2014 18:24:24 -0600
Subject: [PATCH] ntoskrnl.exe: add a stub for IoCsqInitialize

---
 dlls/ntoskrnl.exe/ntoskrnl.c        | 10 +++++++
 dlls/ntoskrnl.exe/ntoskrnl.exe.spec |  2 +-
 include/ddk/csq.h                   | 59 +++++++++++++++++++++++++++++++++++++
 3 files changed, 70 insertions(+), 1 deletion(-)
 create mode 100644 include/ddk/csq.h

diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index a31b186..f932421 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -33,6 +33,7 @@
 #include "winternl.h"
 #include "excpt.h"
 #include "winioctl.h"
+#include "ddk/csq.h"
 #include "ddk/ntddk.h"
 #include "ddk/ntifs.h"
 #include "wine/unicode.h"
@@ -1947,3 +1948,12 @@ NTSTATUS WINAPI IoRegisterPlugPlayNotification(IO_NOTIFICATION_EVENT_CATEGORY ca
     FIXME("(%u %u %p %p %p %p %p) stub\n", category, flags, data, driver, callback, context, notification);
     return STATUS_SUCCESS;
 }
+
+/*****************************************************
+ *           IoCsqInitialize  (NTOSKRNL.EXE.@)
+ */
+NTSTATUS WINAPI IoCsqInitialize(PIO_CSQ csq, PIO_CSQ_INSERT_IRP insert_irp, PIO_CSQ_REMOVE_IRP remove_irp, PIO_CSQ_PEEK_NEXT_IRP peek_irp, PIO_CSQ_ACQUIRE_LOCK acquire_lock, PIO_CSQ_RELEASE_LOCK release_lock, PIO_CSQ_COMPLETE_CANCELED_IRP complete_irp)
+{
+    FIXME("(%p %p %p %p %p %p %p) stub\n", csq, insert_irp, remove_irp, peek_irp, acquire_lock, release_lock, complete_irp);
+    return STATUS_NOT_IMPLEMENTED;
+}
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
index 4ead907..ddb6b72 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
@@ -348,7 +348,7 @@
 @ stdcall IoCreateSymbolicLink(ptr ptr)
 @ stdcall IoCreateSynchronizationEvent(ptr ptr)
 @ stub IoCreateUnprotectedSymbolicLink
-@ stub IoCsqInitialize
+@ stdcall IoCsqInitialize(ptr ptr ptr ptr ptr ptr ptr)
 @ stub IoCsqInsertIrp
 @ stub IoCsqRemoveIrp
 @ stub IoCsqRemoveNextIrp
diff --git a/include/ddk/csq.h b/include/ddk/csq.h
new file mode 100644
index 0000000..3a5d8a0
--- /dev/null
+++ b/include/ddk/csq.h
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) the Wine project
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#include "ddk/ntddk.h"
+
+#ifndef __WINE_CSQ_H
+#define __WINE_CSQ_H
+
+typedef struct _IO_CSQ IO_CSQ, *PIO_CSQ;
+
+typedef VOID (*PIO_CSQ_ACQUIRE_LOCK)(
+    PIO_CSQ Csq,
+    PKIRQL Irql
+);
+
+typedef VOID (*PIO_CSQ_COMPLETE_CANCELED_IRP)(
+    PIO_CSQ Csq,
+    PIRP Irp
+);
+
+typedef VOID (*PIO_CSQ_INSERT_IRP)(
+    struct _IO_CSQ *Csq,
+    PIRP Irp
+);
+
+typedef PIRP (*PIO_CSQ_PEEK_NEXT_IRP)(
+    PIO_CSQ Csq,
+    PIRP    Irp,
+    PVOID   PeekContext
+);
+
+typedef VOID (*PIO_CSQ_RELEASE_LOCK)(
+    PIO_CSQ Csq,
+    KIRQL   Irql
+);
+
+typedef VOID
+(*PIO_CSQ_REMOVE_IRP)(
+    PIO_CSQ Csq,
+    PIRP Irp
+);
+
+
+#endif  /* __WINE_CSQ_H */
-- 
2.1.1



More information about the wine-patches mailing list