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