Device I/O Protocol
Version 1.02 12/12/00 143
6.2.2 DEVICE_IO.PciDevicePath()
Summary
Provides an EFI Device Path for a PCI device with the given PCI configuration space address.
Prototype
typedef
EFI_STATUS
(EFIAPI *EFI_PCI_DEVICE_PATH) (
IN EFI_DEVICE_IO_INTERFACE *This,
IN UINT64 PciAddress,
IN OUT EFI_DEVICE_PATH **PciDevicePath
);
Parameters
This A pointer to the EFI_DEVICE_IO_INTERFACE. Type
EFI_DEVICE_IO_INTERFACE is defined in Section 6.2.
PciAddress The PCI configuration space address of the device whose Device Path is
going to be returned. The address field is encoded as shown in
Table 6-1.
PciDevicePath A pointer to the pointer for the EFI Device Path for PciAddress.
Memory for the Device Path is allocated from the pool. Type
EFI_DEVICE_PATH is defined in Chapter 3.
Description
The DEVICE_IO.PciDevicePath() function provides an EFI Device Path for a PCI device
with the given PCI configuration space address.
A Device Path for the requested PCI device is returned in PciDevicePath.
PciDevicePath() allocates the memory required for the Device Path from the pool and the
caller is responsible for calling FreePool() to free the memory used to contain the Device Path.
If there is not enough memory to calculate or return the PciDevicePath the function will return
EFI_OUT_OF_RESOURCES. If the function can not calculate a valid Device Path for
PciAddress the function will return EFI_UNSUPPORTED.
Status Codes Returned
EFI_SUCCESS The PciDevicePath returns a pointer to a valid EFI Device Path.
EFI_UNSUPPORTED The PciAddress does not map to a valid EFI Device Path.
EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.