Compartilhar via


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)

Consulte também

BUS_DATA_TYPE

HalGetBusData

HalSetBusDataByOffset

HalSetBusData

HalTranslateBusAddress

PCI_COMMON_CONFIG