From 1690044d78deb147398a00eb34303c581fa3b36f Mon Sep 17 00:00:00 2001 From: Stefan Leichter Date: Fri, 14 Aug 2009 13:31:57 +0200 Subject: [PATCH] ntoskrnl.exe: Add stub for IoQueryDeviceDescription. --- dlls/ntoskrnl.exe/ntoskrnl.c | 12 +++++++ dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 2 +- include/ddk/ntddk.h | 52 ++++++++++++++++++++++++++++- 3 files changed, 64 insertions(+), 2 deletions(-) diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c index ab7cbbf9617..054b39ed70d 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c @@ -687,6 +687,18 @@ PCONFIGURATION_INFORMATION WINAPI IoGetConfigurationInformation(void) } +/*********************************************************************** + * IoQueryDeviceDescription (NTOSKRNL.EXE.@) + */ +NTSTATUS WINAPI IoQueryDeviceDescription(PINTERFACE_TYPE itype, PULONG bus, PCONFIGURATION_TYPE ctype, + PULONG cnum, PCONFIGURATION_TYPE ptype, PULONG pnum, + PIO_QUERY_DEVICE_ROUTINE callout, PVOID context) +{ + FIXME( "(%p %p %p %p %p %p %p %p)\n", itype, bus, ctype, cnum, ptype, pnum, callout, context); + return STATUS_NOT_IMPLEMENTED; +} + + /*********************************************************************** * IoRegisterDriverReinitialization (NTOSKRNL.EXE.@) */ diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec index 786de833d3d..9cd5e8a3174 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 3ad2156f363..1ea8d05f162 100644 --- a/include/ddk/ntddk.h +++ b/include/ddk/ntddk.h @@ -61,8 +61,58 @@ typedef struct _CONFIGURATION_INFORMATION ULONG MediumChangerCount; } CONFIGURATION_INFORMATION, *PCONFIGURATION_INFORMATION; -typedef VOID (WINAPI *PDRIVER_REINITIALIZE)(PDRIVER_OBJECT,PVOID,ULONG); +typedef enum _CONFIGURATION_TYPE +{ + ArcSystem = 0, + 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, + MaximunType +} CONFIGURATION_TYPE, *PCONFIGURATION_TYPE; +typedef VOID (WINAPI *PDRIVER_REINITIALIZE)(PDRIVER_OBJECT,PVOID,ULONG); +typedef NTSTATUS (WINAPI *PIO_QUERY_DEVICE_ROUTINE)(PVOID,PUNICODE_STRING,INTERFACE_TYPE,ULONG, + PKEY_VALUE_FULL_INFORMATION*,CONFIGURATION_TYPE,ULONG,PKEY_VALUE_FULL_INFORMATION*); + +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);