[Wine-patches] [eterhack] [0001/0021] ntoskrnl.exe: Add stub for IoQueryDeviceDescription.

Alexander Morozov =?iso-8859-1?q?amorozov_=CE=C1_etersoft=2Eru?=
Ср Янв 28 21:09:58 MSK 2009


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

diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index 5434fc7..aa05a96 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -1182,6 +1182,25 @@ BOOLEAN WINAPI IoIsWdmVersionAvailable( UCHAR MajorVersion, UCHAR MinorVersion )
 
 
 /***********************************************************************
+ *           IoQueryDeviceDescription   (NTOSKRNL.EXE.@)
+ */
+NTSTATUS WINAPI IoQueryDeviceDescription( PINTERFACE_TYPE BusType,
+                                          PULONG BusNumber,
+                                          PCONFIGURATION_TYPE ControllerType,
+                                          PULONG ControllerNumber,
+                                          PCONFIGURATION_TYPE PeripheralType,
+                                          PULONG PeripheralNumber,
+                                          PIO_QUERY_DEVICE_ROUTINE CalloutRoutine,
+                                          PVOID Context )
+{
+    FIXME( "%p %p %p %p %p %p %p %p\n", BusType, BusNumber, ControllerType,
+           ControllerNumber, PeripheralType, PeripheralNumber, CalloutRoutine,
+           Context );
+    return STATUS_NOT_IMPLEMENTED;
+}
+
+
+/***********************************************************************
  *           IoRegisterDeviceInterface   (NTOSKRNL.EXE.@)
  */
 NTSTATUS WINAPI IoRegisterDeviceInterface( PDEVICE_OBJECT PhysicalDeviceObject,
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
index 459c497..823574a 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
@@ -412,7 +412,7 @@
 @ stub IoOpenDeviceRegistryKey
 @ stub IoPageRead
 @ stub IoPnPDeliverServicePowerNotification
-@ stub IoQueryDeviceDescription
+@ stdcall IoQueryDeviceDescription(ptr ptr ptr ptr ptr ptr ptr ptr)
 @ stub IoQueryFileDosDeviceName
 @ stub IoQueryFileInformation
 @ stub IoQueryVolumeInformation
diff --git a/include/ddk/ntddk.h b/include/ddk/ntddk.h
index 3da8f3c..8b4d440 100644
--- a/include/ddk/ntddk.h
+++ b/include/ddk/ntddk.h
@@ -46,6 +46,51 @@ typedef enum _BUS_DATA_TYPE
     MaximumBusDataType
 } BUS_DATA_TYPE, *PBUS_DATA_TYPE;
 
+typedef enum _CONFIGURATION_TYPE {
+    ArcSystem,
+    CentralProcessor,
+    FloatingPointProcessor,
+    PrimaryIcache,
+    PrimaryDcache,
+    SecondaryIcache,
+    SecondaryDcache,
+    SecondaryCache,
+    EisaAdapter,
+    TcAdapter,
+    ScsiAdapter,
+    DtiAdapter,
+    MultiFunctionAdapter,
+    DiskController,
+    TapeController,
+    CdromController,
+    WormController,
+    SerialController,
+    NetworkController,
+    DisplayController,
+    ParallelController,
+    PointerController,
+    KeyboardController,
+    AudioController,
+    OtherController,
+    DiskPeripheral,
+    FloppyDiskPeripheral,
+    TapePeripheral,
+    ModemPeripheral,
+    MonitorPeripheral,
+    PrinterPeripheral,
+    PointerPeripheral,
+    KeyboardPeripheral,
+    TerminalPeripheral,
+    OtherPeripheral,
+    LinePeripheral,
+    NetworkPeripheral,
+    SystemMemory,
+    DockingInformation,
+    RealModeIrqRoutingTable,
+    RealModePCIEnumeration,
+    MaximumType
+} CONFIGURATION_TYPE, *PCONFIGURATION_TYPE;
+
 typedef struct _CONFIGURATION_INFORMATION
 {
     ULONG DiskCount;
@@ -72,8 +117,10 @@ typedef struct _CONFIGURATION_INFORMATION
 #define DO_LOW_PRIORITY_FILESYSTEM      0x00010000
 
 
+typedef NTSTATUS (WINAPI *PIO_QUERY_DEVICE_ROUTINE)(PVOID,PUNICODE_STRING,INTERFACE_TYPE,ULONG,PKEY_VALUE_FULL_INFORMATION*,CONFIGURATION_TYPE,ULONG,PKEY_VALUE_FULL_INFORMATION*,CONFIGURATION_TYPE,ULONG,PKEY_VALUE_FULL_INFORMATION*);
 typedef VOID (WINAPI *PDRIVER_REINITIALIZE)(PDRIVER_OBJECT,PVOID,ULONG);
 
+NTSTATUS  WINAPI IoQueryDeviceDescription(PINTERFACE_TYPE,PULONG,PCONFIGURATION_TYPE,PULONG,PCONFIGURATION_TYPE,PULONG,PIO_QUERY_DEVICE_ROUTINE,PVOID);
 void      WINAPI IoRegisterDriverReinitialization(PDRIVER_OBJECT,PDRIVER_REINITIALIZE,PVOID);
 NTSTATUS  WINAPI IoRegisterShutdownNotification(PDEVICE_OBJECT);
 
-- 
1.6.0.2.GIT



Подробная информация о списке рассылки Wine-patches