IoGetConfigurationInformation 函数 (ntddk.h)

IoGetConfigurationInformation 例程返回指向 I/O 管理器的全局配置信息结构的指针,该结构包含物理磁盘、软盘、CD-ROM、磁带、SCSI HBA、串行和并行设备创建设备对象,以便在加载驱动程序时由驱动程序表示它们。

语法

PCONFIGURATION_INFORMATION IoGetConfigurationInformation();

返回值

IoGetConfigurationInformation 返回指向配置信息结构的指针。 此结构的定义如下:

typedef struct _CONFIGURATION_INFORMATION {

    //
    // This field indicates the total number of disks in the system. This
    // number should be used by the driver to determine the names of new
    // disks. This field should be updated by the driver as it finds new
    // disks.
    //

    ULONG DiskCount;                // Count of hard disks thus far
    ULONG FloppyCount;              // Count of floppy disks thus far
    ULONG CdRomCount;               // Count of CD-ROM drives thus far
    ULONG TapeCount;                // Count of tape drives thus far
    ULONG ScsiPortCount;            // Count of SCSI port adapters thus far
    ULONG SerialCount;              // Count of serial devices thus far
    ULONG ParallelCount;            // Count of parallel devices thus far

    //
    // These next two fields indicate ownership of the two I/O address
    // spaces that are used by WD1003-compatible disk controllers.
    //

    BOOLEAN AtDiskPrimaryAddressClaimed;    // 0x1F0 - 0x1FF
    BOOLEAN AtDiskSecondaryAddressClaimed;  // 0x170 - 0x17F

    //
    // Indicates the structure version, as anything value beyond this will have been added.
    // Use the structure size as the version.
    //

    ULONG Version;

    //
    // Indicates the total number of medium changer devices in the system.
    // This field will be updated by the drivers as it determines that
    // new devices have been found and will be supported.
    //

    ULONG MediumChangerCount;

} CONFIGURATION_INFORMATION, *PCONFIGURATION_INFORMATION;

注解

当每个驱动程序创建设备对象对象时,某些类型的设备驱动程序可以使用配置信息结构的值构造具有适当数字后缀的设备对象名称。 请注意,设备对象名称的数字后缀是从零开始的计数,而配置信息结构中维护的计数表示已创建的特定类型的设备对象数。 也就是说,配置信息计数基于一个。

调用 IoGetConfigurationInformation 的任何驱动程序必须在创建表示物理设备的设备对象时,在此结构中递增其类型设备的计数。

系统提供的 SCSI 端口驱动程序提供计算机中存在的 SCSI HBA 计数。 SCSI 类驱动程序可以读取此值以确定有多少个特定于 HBA 的微型端口驱动程序可以使用类驱动程序类型的附加设备控制 SCSI 总线。

配置信息结构还包含一个值,该值指示已加载的驱动程序是否已声明“AT”磁盘 I/O 地址范围之一。

要求

   
最低受支持的客户端 从 Windows 2000 开始可用。
目标平台 通用
标头 ntddk.h (包括 Ntddk.h、Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI 符合性规则 HwStorPortProhibitedDDIS (storport) IrqlIoPassive5 (wdm) PowerIrpDDis (wdm)

另请参阅

HalAssignSlotResources

HalGetBusData

HalGetBusDataByOffset

IoAssignResources

IoQueryDeviceDescription

IoReportResourceUsage