HwFindAdapter


ULONG HwFindAdapter(DeviceExtension, HwContext, BusInformation, ArgumentString,
    ConfigInfo, Again)
IN PVOID  DeviceExtension;
IN PVOID  HwContext;
IN PVOID  BusInformation;
IN PCHAR  ArgumentString;
IN OUT PPORT_CONFIGURATION_INFORMATION  ConfigInfo;
OUT PBOOLEAN  Again;

Returns information about the miniport driver's adapter in the PORT_CONFIGURATION_INFORMATION buffer.

Value

Meaning

SP_RETURN_FOUND

Indicates a host adapter was found and the configuration information was successfully determined.

SP_RETURN_ERROR

Indicates a host adapter was found but there was error obtaining the configuration information. If possible such an error should be logged.

SP_RETURN_BAD_CONFIG

Indicates the supplied configuration information was invalid.

SP_RETURN_NOT_FOUND

Indicates no host adapter was found for the supplied configuration information.


DeviceExtension

Supplies the HBA miniport driver's adapter data storage. This storage is initialized to zero before this routine is called by the OS-dependent port driver.

HwContext

Supplies the context value that was passed to ScsiPortInitialize.

BusInformation

Supplies bus-type-specific information that has been gathered. The format of this information depends on the particular bus type.

ArgumentString

Supplies a zero-terminated ASCII string. This string originates from the user and can be NULL.

ConfigInfo

Returns a pointer to the configuration information structure, which is filled by the HBA miniport driver. This structure is initialized with any known configuration information, such as SystemIoBusNumber. If possible, drivers should have a set of defaults that do not require any supplied configuration information.

Again

Indicates the HBA miniport driver wants the OS-specific port driver to call its HW_FIND_ADAPTER function again with a new DeviceExtension and the same ConfigurationInformation. This is used by the HBA miniport drivers that can search for more than one adapter on a bus.

This function is called by ScsiPortInitialize after the necessary storage has been allocated.

See also PORT_CONFIGURATION_INFORMATION