1.1.1 Hardware Configuration
-
HalGetBusData
-
Returns bus-relative configuration information for the specified type of I/O
bus, system-assigned bus number, slot number or device location, and a pointer
to a driver-supplied buffer and the buffer’s length in bytes.
-
HalGetBusDataByOffset
-
Like HalGetBusData, returns bus-relative configuration information to a
driver-supplied buffer. However, this routine returns configuration
information for a given type of I/O bus, starting at the given offset in the
bus-type-specific configuration data structure if the bus is dynamically
configurable with a published standard interface.
-
IoAssignResources
-
Takes an input list of preferred and alternative, or required, hardware
resources needed for a driver or device, inspects the registry for available
hardware resources, claims hardware resources in the registry ResourceMap
tree, and returns configuration information about the hardware resources it
claimed for the caller.
-
HalAssignSlotResources
-
Like IoAssignResources, takes an input list of preferred and
alternative hardware resources and claims available hardware resources in the
registry ResourceMap tree, returning information about the resources it
claimed to the caller. However, this routine claims hardware resources only
for drivers of devices on any given type of dynamically configurable I/O bus
with a published standard interface.
-
HalSetBusData
-
Sets I/O bus configuration data fora given slot or address on a particular
bus.
-
HalSetBusDataByOffset
-
Sets I/O bus configuration data fora given slot or address on a particular
bus, starting at the given offset in the bus-type-specific configuration
structure.
-
IoQueryDeviceDescription
-
Supplies basic hardware information about one or more of the given bus type
and bus number, controller type and controller number, and/or peripheral type
and peripheral number from the registry to a driver-supplied
configuration-callback routine. As an alternative, device drivers can call HalGetBusData
or HalGetBusDataByOffset.
-
IoReportResourceUsage
-
Claims hardware resources, such as ports in I/O space or device registers in
memory space, an interrupt vector, or a particular DMA controller channel, in
the registry so that a subsequently loaded driver cannot attempt to use the
same resources. To claim most types of resources, calling IoAssignResources
or HalAssignSlotResources is preferable.
-
IoGetConfigurationInformation
-
Returns a pointer to the I/O Manager’s configuration information structure,
which indicates the number of disk, floppy, CD-ROM, tape, SCSI HBAs, serial,
and parallel device objects that have already been named by previously loaded
drivers, as well as whether certain address ranges have been claimed by “AT”
disk-type drivers.
-
HalTranslateBusAddress
-
Returns the corresponding physical address in system memory for a given
bus-specific logical address.
-
HalGetInterruptVector
-
Returns a mapped system interrupt vector, DIRQL, and processor-affinity mask a
driver can use to set up its interrupt service routine (ISR), given the type
of bus on which the driver’s device is connected, the system-assigned bus
number, and the bus’s interrupt vector and IRQL.
-
HalGetAdapter
-
Returns a pointer to the adapter object representing the DMA channel to which
the driver’s device is connected or representing the driver’s busmaster
adapter, together with the maximum number of map registers the driver can
specify for each DMA transfer, given the input device description.
-
HalExamineMBR
-
Returns data from the master boot record (MBR) of a disk.
-
KeGetDcacheFillSize
-
Returns the processor’s data cache-line boundary.
-
IoReadPartitionTable
-
Returns a list of partitions on a disk with a given sector size.