Compartilhar via


Função ScsiPortGetBusData (srb.h)

A rotina de scsiPortGetBusData do retorna informações de configuração específicas do tipo de barramento que uma rotina de HwScsiFindAdapter do driver de miniporto pode usar para determinar se ele dá suporte a um adaptador específico em um determinado barramento de E/S e configurar o HBA se ele o fizer.

Observação o driver de porta SCSI e os modelos de driver de miniporto SCSI podem estar alterados ou indisponíveis no futuro. Em vez disso, recomendamos usar o de driver do Storport e miniporto storport modelos de driver.
 

Sintaxe

SCSIPORT_API ULONG ScsiPortGetBusData(
  [in] PVOID DeviceExtension,
  [in] ULONG BusDataType,
  [in] ULONG SystemIoBusNumber,
  [in] ULONG SlotNumber,
  [in] PVOID Buffer,
  [in] ULONG Length
);

Parâmetros

[in] DeviceExtension

Ponteiro para a área de armazenamento por HBA do driver de miniporto.

[in] BusDataType

Contém um valor do tipo BUS_DATA_TYPE que especifica o tipo de dados de configuração específicos do barramento a serem retornados. Atualmente, esse valor pode ser um dos seguintes: Cmos, EisaConfiguration, Posou PCIConfiguration. No entanto, haverá suporte para tipos adicionais de configuração de barramento no futuro. O limite superior nos tipos com suporte é sempre maximumBusDataType.

[in] SystemIoBusNumber

Especifica o número atribuído pelo sistema do ônibus de E/S. A rotina de HwScsiFindAdapter do driver de miniporto obtém esse valor do membro PORT_CONFIGURATION_INFORMATION SystemIoBusNumber de entrada.

[in] SlotNumber

Especifica o número de slot lógico ou o local do dispositivo.

Se PCIConfiguration for especificado como o BusDataType, esse parâmetro deverá ser especificado como um valor de tipo PCI_SLOT_NUMBER.

[in] Buffer

Ponteiro para um buffer ou área para a qual os dados de configuração são retornados ou, se o de Comprimento de fornecido for zero, aponta para um local para o qual o driver de porta específico do sistema operacional retorna um ponteiro para um buffer que ele aloca.

[in] Length

Especifica o número máximo de bytes a serem retornados em bufferou zero se o chamador exigir que o driver de porta específico do sistema operacional aloque um buffer para conter os dados.

Valor de retorno

ScsiPortGetBusData retorna o número de bytes de informações de configuração armazenadas no buffer. Quando o BusDataType de entrada é PCIConfiguration, ScsiPortGetBusData pode retornar qualquer um dos valores a seguir para indicar um erro.

Código de retorno Descrição
0 (zero)
O barramento PCI não existe.
2
O barramento PCI existe, mas não há nenhum dispositivo no de SlotNumber dePCI especificado. O do Buffer de contém o valor PCI_INVALID_VENDOR_ID no membro VendorId do PCI_COMMON_CONFIG.

Observações

ScsiPortGetBusData só pode ser chamado na rotina de HwScsiFindAdapter de um driver de miniporto ou HwScsiAdapterControl quando o tipo de controle é ScsiSetRunningConfig. Chamadas de outras rotinas de driver de miniporto resultarão em falha do sistema ou operação incorreta para o chamador.

Os dados de configuração retornados pelo ScsiPortGetBusData são válidos somente até que o driver de miniporte chame ScsiPortGetBusData novamente. Assim que o HwScsiFindAdapter do chamador rotina retornar o controle, todos os dados de configuração retornados se tornarão inválidos.

Requisitos

Requisito Valor
da Plataforma de Destino Área de trabalho
cabeçalho srb.h (inclua Miniport.h, Scsi.h)
biblioteca Scsiport.lib

Consulte também

HwScsiFindAdapter

PCI_COMMON_CONFIG

PCI_SLOT_NUMBER

PORT_CONFIGURATION_INFORMATION (SCSI)