ntoskrnl.exe: Add stub for IoGetDeviceInterfaces.

Alexander Morozov amorozov at etersoft.ru
Thu Feb 3 08:54:59 CST 2011


This patch fixes loading ProtectorA.sys driver which is installed by 
CNCBSecPkg_EN.exe (see http://bugs.winehq.org/show_bug.cgi?id=25964)
-------------- next part --------------
From e223932acf575dec4058feecf440536bdc11f697 Mon Sep 17 00:00:00 2001
From: Alexander Morozov <amorozov at etersoft.ru>
Date: Thu, 3 Feb 2011 17:49:10 +0300
Subject: [PATCH] ntoskrnl.exe: Add stub for IoGetDeviceInterfaces.

---
 dlls/ntoskrnl.exe/ntoskrnl.c        |   13 +++++++++++++
 dlls/ntoskrnl.exe/ntoskrnl.exe.spec |    2 +-
 include/ddk/wdm.h                   |    1 +
 3 files changed, 15 insertions(+), 1 deletions(-)

diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index a5c1659..4f70b98 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -622,6 +622,19 @@ NTSTATUS WINAPI IoDeleteSymbolicLink( UNICODE_STRING *name )
 
 
 /***********************************************************************
+ *           IoGetDeviceInterfaces   (NTOSKRNL.EXE.@)
+ */
+NTSTATUS WINAPI IoGetDeviceInterfaces( CONST GUID *InterfaceClassGuid,
+                                       PDEVICE_OBJECT PhysicalDeviceObject,
+                                       ULONG Flags, PWSTR *SymbolicLinkList )
+{
+    FIXME( "stub: %s %p %x %p\n", debugstr_guid(InterfaceClassGuid),
+           PhysicalDeviceObject, Flags, SymbolicLinkList );
+    return STATUS_NOT_IMPLEMENTED;
+}
+
+
+/***********************************************************************
  *           IoGetDeviceObjectPointer   (NTOSKRNL.EXE.@)
  */
 NTSTATUS  WINAPI IoGetDeviceObjectPointer( UNICODE_STRING *name, ACCESS_MASK access, PFILE_OBJECT *file, PDEVICE_OBJECT *device )
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
index ef0d50f..6d645ad 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
@@ -381,7 +381,7 @@
 @ stub IoGetCurrentProcess
 @ stub IoGetDeviceAttachmentBaseRef
 @ stub IoGetDeviceInterfaceAlias
-@ stub IoGetDeviceInterfaces
+@ stdcall IoGetDeviceInterfaces(ptr ptr long ptr)
 @ stdcall IoGetDeviceObjectPointer(ptr long ptr ptr)
 @ stdcall IoGetDeviceProperty(ptr long long ptr ptr)
 @ stub IoGetDeviceToVerify
diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h
index 6df5290..2f3fccb 100644
--- a/include/ddk/wdm.h
+++ b/include/ddk/wdm.h
@@ -1106,6 +1106,7 @@ void      WINAPI IoDeleteDriver(DRIVER_OBJECT*);
 NTSTATUS  WINAPI IoDeleteSymbolicLink(UNICODE_STRING*);
 void      WINAPI IoFreeIrp(IRP*);
 PEPROCESS WINAPI IoGetCurrentProcess(void);
+NTSTATUS  WINAPI IoGetDeviceInterfaces(CONST GUID*,PDEVICE_OBJECT,ULONG,PWSTR*);
 NTSTATUS  WINAPI IoGetDeviceObjectPointer(UNICODE_STRING*,ACCESS_MASK,PFILE_OBJECT*,PDEVICE_OBJECT*);
 NTSTATUS  WINAPI IoGetDeviceProperty(PDEVICE_OBJECT,DEVICE_REGISTRY_PROPERTY,ULONG,PVOID,PULONG);
 PVOID     WINAPI IoGetDriverObjectExtension(PDRIVER_OBJECT,PVOID);
-- 
1.7.3.5



More information about the wine-patches mailing list