[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