Função ScsiPortGetBusData (srb.h)

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

Nota O driver de porta SCSI e os modelos de driver de miniporta SCSI podem ser alterados ou indisponíveis no futuro. Em vez disso, recomendamos usar os modelos de driver storport e driver de miniporto Storport .
 

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 miniport.

[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, Pos ou 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 barramento de E/S. A rotina HwScsiFindAdapter do driver de miniporta obtém esse valor da entrada PORT_CONFIGURATION_INFORMATION membro SystemIoBusNumber .

[in] SlotNumber

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

Se PCIConfiguration for especificado como 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 Comprimento 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 no Buffer ou zero se o chamador exigir que o driver de porta específico do sistema operacional aloque um buffer para conter os dados.

Retornar valor

ScsiPortGetBusData retorna o número de bytes das 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 SlotNumber de PCI fornecido. O Buffer contém o valor PCI_INVALID_VENDOR_ID no PCI_COMMON_CONFIG membro VendorId .

Comentários

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

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

Requisitos

Requisito Valor
Plataforma de Destino Área de Trabalho
Cabeçalho srb.h (inclua Miniport.h, Scsi.h)
Biblioteca Scsiport.lib

Confira também

HwScsiFindAdapter

PCI_COMMON_CONFIG

PCI_SLOT_NUMBER

PORT_CONFIGURATION_INFORMATION (SCSI)