From: Austin English Subject: ntoskrnl.exe: add a stub for IoCsqInitialize Message-Id: Date: Tue, 4 Nov 2014 18:29:11 -0600 https://bugs.winehq.org/show_bug.cgi?id=36777 -- -Austin
https://bugs.winehq.org/show_bug.cgi?id=36777

--
-Austin
From 22d189a104fadd80a2139af2079314827493c323 Mon Sep 17 00:00:00 2001 From: Austin English 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