Função StorPortGetBusData (storport.h)
A rotina StorPortGetBusData recupera as informações de configuração específicas do barramento necessárias para inicializar o HBA.
Sintaxe
STORPORT_API ULONG StorPortGetBusData(
[in] PVOID DeviceExtension,
[in] ULONG BusDataType,
[in] ULONG SystemIoBusNumber,
[in] ULONG SlotNumber,
[in, out] 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 HwStorFindAdapter do driver de miniporta obtém esse valor do membro SystemIoBusNumber definido inicialmente em PORT_CONFIGURATION_INFORMATION.
[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, out] 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
StorPortGetBusData retorna o número de bytes das informações de configuração armazenadas no buffer. Quando o BusDataType de entrada é PCIConfiguration, StorPortGetBusData 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
Um driver de miniporta pode chamar StorPortGetBusData das seguintes rotinas:
- De sua rotina de retorno de chamada HwStorFindAdapter .
- De seu HwStorAdapterControl somente quando ControlType for 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 StorPortGetBusData são válidos apenas até que o driver de miniporto chame StorPortGetBusData novamente. Assim que a rotina HwStorFindAdapter do chamador retornar o controle, todos os dados de configuração retornados se tornarão inválidos.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Cabeçalho | storport.h (inclua Storport.h) |
Biblioteca | Storport.lib |