Added patch with stub for IoCsqInitialize.

This commit is contained in:
Sebastian Lackner 2014-11-08 06:14:33 +01:00
parent 52263be2fe
commit 90d7c40949
5 changed files with 120 additions and 1 deletions

View File

@ -39,7 +39,7 @@ Wine. All those differences are also documented on the
Included bug fixes and improvements
===================================
**Bugfixes and features included in the next upcoming release [8]:**
**Bugfixes and features included in the next upcoming release [9]:**
* Add stub for NtSetLdtEntries/ZwSetLdtEntries ([Wine Bug #26268](https://bugs.winehq.org/show_bug.cgi?id=26268))
* Allow selection of audio device for PulseAudio backend
@ -49,6 +49,7 @@ Included bug fixes and improvements
* Fix crash of Trine Demo on start ([Wine Bug #19231](https://bugs.winehq.org/show_bug.cgi?id=19231))
* Fix texture corruption in CSI: Fatal Conspiracy ([Wine Bug #33768](https://bugs.winehq.org/show_bug.cgi?id=33768))
* Return correct values for GetThreadTimes function ([Wine Bug #20230](https://bugs.winehq.org/show_bug.cgi?id=20230))
* vSphere needs IoCsqInitialize ([Wine Bug #36777](https://bugs.winehq.org/show_bug.cgi?id=36777))
**Bugs fixed in Wine Staging 1.7.30 [90]:**

1
debian/changelog vendored
View File

@ -9,6 +9,7 @@ wine-compholio (1.7.31) UNRELEASED; urgency=low
* Added patch to implement DXTn support for d3dx9_36.
* Added patch to return correct values for GetThreadTimes.
* Added patch to align texture dimensions to block size for compressed textures.
* Added patch with stub for IoCsqInitialize.
* Removed patch for iphlpapi stub functions (accepted upstream).
* Removed patches for FindFirstFileExW (accepted upstream).
* Removed patches for TLB dependencies lookup in resources (accepted upstream).

View File

@ -64,6 +64,7 @@ PATCHLIST := \
ntdll-Pipe_SpecialCharacters.ok \
ntdll-ThreadTime.ok \
ntdll-WRITECOPY.ok \
ntoskrnl-IoCsqInitialize.ok \
ntoskrnl-Irp_Status.ok \
ntoskrnl-KeSetSystemAffinityThread.ok \
ntoskrnl-Write_CR4.ok \
@ -1037,6 +1038,24 @@ ntdll-WRITECOPY.ok:
echo '+ { "ntdll-WRITECOPY", "Michael Müller", "Change WRITECOPY memory protection to WRITE on first write. [rev 4]" },'; \
) > ntdll-WRITECOPY.ok
# Patchset ntoskrnl-IoCsqInitialize
# |
# | Included patches:
# | * Add stub for IoCsqInitialize. [by Austin English]
# |
# | This patchset fixes the following Wine bugs:
# | * [#36777] vSphere needs IoCsqInitialize
# |
# | Modified files:
# | * dlls/ntoskrnl.exe/ntoskrnl.c, dlls/ntoskrnl.exe/ntoskrnl.exe.spec, include/ddk/csq.h
# |
.INTERMEDIATE: ntoskrnl-IoCsqInitialize.ok
ntoskrnl-IoCsqInitialize.ok:
$(call APPLY_FILE,ntoskrnl-IoCsqInitialize/0001-ntoskrnl.exe-Add-a-stub-for-IoCsqInitialize.patch)
@( \
echo '+ { "ntoskrnl-IoCsqInitialize", "Austin English", "Add stub for IoCsqInitialize." },'; \
) > ntoskrnl-IoCsqInitialize.ok
# Patchset ntoskrnl-Irp_Status
# |
# | Included patches:

View File

@ -0,0 +1,94 @@
From 499c08a3b6c1c05c5fb8edefc571feedac3dc85a Mon Sep 17 00:00:00 2001
From: Austin English <austinenglish@gmail.com>
Date: Tue, 4 Nov 2014 18:29:11 -0600
Subject: ntoskrnl.exe: Add a stub for IoCsqInitialize.
---
dlls/ntoskrnl.exe/ntoskrnl.c | 12 ++++++++++++
dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 2 +-
include/ddk/csq.h | 33 +++++++++++++++++++++++++++++++++
3 files changed, 46 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..03a79c2 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,14 @@ 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..6c75e5c
--- /dev/null
+++ b/include/ddk/csq.h
@@ -0,0 +1,33 @@
+/*
+ * 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)(PIO_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.3

View File

@ -0,0 +1,4 @@
Author: Austin English
Subject: Add stub for IoCsqInitialize.
Revision: 1
Fixes: [36777] vSphere needs IoCsqInitialize