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.
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 |
---|---|
|
O barramento PCI não existe. |
|
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 |