diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c index 25b3a3241ef..123a558ab94 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c @@ -469,6 +469,18 @@ PDEVICE_OBJECT WINAPI IoGetRelatedDeviceObject( PFILE_OBJECT obj ) return NULL; } +static CONFIGURATION_INFORMATION configuration_information; + +/*********************************************************************** + * 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 8f308a2fd61..bdd153782f7 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 cbc9cfad7f2..3ad2156f363 100644 --- a/include/ddk/ntddk.h +++ b/include/ddk/ntddk.h @@ -46,6 +46,21 @@ 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; + ULONG Version; + ULONG MediumChangerCount; +} CONFIGURATION_INFORMATION, *PCONFIGURATION_INFORMATION; + typedef VOID (WINAPI *PDRIVER_REINITIALIZE)(PDRIVER_OBJECT,PVOID,ULONG); void WINAPI IoRegisterDriverReinitialization(PDRIVER_OBJECT,PDRIVER_REINITIALIZE,PVOID);