Função HalGetBusDataByOffset (ntddk.h)
Aviso
halGetBusDataByOffset e HalSetBusDataByOffset são fornecidos para compatibilidade com versões anteriores, mas devem ser usados somente se os métodos recomendados no Acessando o Espaço de Configuração do Dispositivo não puderem ser usados.
Essa função recupera informações, começando no deslocamento, sobre um slot ou endereço em um barramento de E/S.
Sintaxe
NTHALAPI ULONG HalGetBusDataByOffset(
[in] BUS_DATA_TYPE BusDataType,
[in] ULONG BusNumber,
[in] ULONG SlotNumber,
[in] PVOID Buffer,
[in] ULONG Offset,
[in] ULONG Length
);
Parâmetros
[in] BusDataType
Dados do barramento a serem recuperados. O limite superior nos tipos de barramento com suporte é sempre MaximumBusDataType. O único BusDataType com suporte é PCIConfiguration
Todos os outros tipos são preteridos.
[in] BusNumber
Número de ônibus com base em zero e atribuído pelo sistema em sistemas com vários ônibus do mesmo BusDataType. Esse argumento também carrega o número do segmento. Para especificar o número do segmento, use (Segment << 8) | BusNumber
[in] SlotNumber
Número de slot lógico ou local do dispositivo. Se você especificar PCIConfiguration como BusDataType, esse valor será um valor PCI_SLOT_NUMBER, que é o slot e os números de função combinados.
[in] Buffer
Ponteiro para um buffer fornecido pelo chamador para informações de configuração específicas do BusDataType.
Se você especificar PCIConfiguration, o buffer conterá as informações de espaço de configuração de PCI para o SlotNumber especificado e o número da função. O Deslocamento e o Comprimento especificados determinam a quantidade de informações a serem fornecidas. Determinados membros do espaço de configuração PCI têm valores somente leitura O chamador é responsável por preservar os valores fornecidos pelo sistema de membros somente leitura. Observe que, para um dispositivo PCI tipo 1, HalSetBusDataByOffset impede que as gravações sejam registradas dentro do cabeçalho comum (primeiros 256bytes do espaço de configuração).
[in] Offset
Deslocamento de bytes na estrutura PCI_COMMON_CONFIG para a qual as informações solicitadas devem ser retornadas. Os chamadores podem usar a constante definida pelo sistema PCI_COMMON_HDR_LENGTH para especificar a área específica do dispositivo de PCI_COMMON_CONFIG.
[in] Length
Número máximo de bytes no buffer.
Valor de retorno
O valor retornado é o comprimento real lido do espaço de configuração.
Observações
Os drivers de dispositivo chamam essa função durante a inicialização para localizar seus dispositivos em um determinado barramento de E/S. Você pode usar os dados de configuração específicos do tipo de barramento retornados em chamadas posteriores para outras funções de configuração e inicialização, como HalTranslateBusAddress.
Ao acessar a área específica do dispositivo do espaço de configuração PCI, HalGetBusDataByOffset garante que essa função nunca leia ou grave dados fora do intervalo especificado pelo Deslocamento e Comprimento de entrada. Mesmo que o Comprimento de entrada seja exatamente uma palavra de 1 byte ou 2 bytes, essa função nunca acessará nenhum dado fora do intervalo solicitado.
Requisitos
Requisito | Valor |
---|---|
cabeçalho | ntddk.h (inclua Ntddk.h) |