Implement partial stub for IoGetConfigurationInformation(), and update ntddk.h with the necessary types.

Peter Dons Tychsen (none) donpedro at dhcppc2.
Sun Sep 7 18:01:55 CDT 2008


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

diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index 25b3a32..34da1da 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -469,6 +469,29 @@ PDEVICE_OBJECT WINAPI IoGetRelatedDeviceObject( PFILE_OBJECT obj )
     return NULL;
 }
 
+static CONFIGURATION_INFORMATION configuration_information = 
+{
+    0, /* DiskCount */
+    0, /* FloppyCount */
+    0, /* CDRomCount */ 
+    0, /* TapeCount */
+    0, /* ScsiPortCount */
+    0, /* SerialCount */
+    0, /* ParallelCount */
+    0, /* AtDiskPrimaryAddressClaimed */
+    0  /* AtDiskSecondaryAddressClaimed */
+};
+
+/***********************************************************************
+ *           IoGetConfigurationInformation    (NTOSKRNL.EXE.@)
+ */
+PCONFIGURATION_INFORMATION WINAPI IoGetConfigurationInformation(void)
+{
+    FIXME( "partial stub\n" );
+    /* FIXME: return actual devices on system */
+    return &configuration_information;
+}
+
 
 /***********************************************************************
  *           IoRegisterDriverReinitialization    (NTOSKRNL.EXE.@)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
index 8f308a2..bdd1537 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
@@ -377,7 +377,7 @@
 @ stub IoGetAttachedDeviceReference
 @ stub IoGetBaseFileSystemDeviceObject
 @ stub IoGetBootDiskInformation
-@ stub IoGetConfigurationInformation
+@ stdcall IoGetConfigurationInformation()
 @ stub IoGetCurrentProcess
 @ stub IoGetDeviceAttachmentBaseRef
 @ stub IoGetDeviceInterfaceAlias
diff --git a/include/ddk/ntddk.h b/include/ddk/ntddk.h
index cbc9cfa..6cc4ff3 100644
--- a/include/ddk/ntddk.h
+++ b/include/ddk/ntddk.h
@@ -46,6 +46,19 @@ typedef enum _BUS_DATA_TYPE
     MaximumBusDataType
 } BUS_DATA_TYPE, *PBUS_DATA_TYPE;
 
+typedef struct _CONFIGURATION_INFORMATION
+{
+    ULONG DiskCount;
+    ULONG FloppyCount;
+    ULONG CDRomCount;
+    ULONG TapeCount;
+    ULONG ScsiPortCount;
+    ULONG SerialCount;
+    ULONG ParallelCount;
+    BOOLEAN AtDiskPrimaryAddressClaimed;
+    BOOLEAN AtDiskSecondaryAddressClaimed;
+} CONFIGURATION_INFORMATION, *PCONFIGURATION_INFORMATION;
+
 typedef VOID (WINAPI *PDRIVER_REINITIALIZE)(PDRIVER_OBJECT,PVOID,ULONG);
 
 void      WINAPI IoRegisterDriverReinitialization(PDRIVER_OBJECT,PDRIVER_REINITIALIZE,PVOID);
-- 
1.5.4.1


--=-KG7iYvq/z9lnTsqoIHAS--




More information about the wine-patches mailing list