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 em Acessar 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 de 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 foram preteridos.

[in] BusNumber

Número de barramento com base em zero e atribuído pelo sistema em sistemas com vários barramentos do mesmo BusDataType. Esse argumento também carrega o número do segmento. Para especificar o número do segmento, use (Segmento << 8) | BusNumber

[in] SlotNumber

Número do 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 de BusDataType.

Se você especificar PCIConfiguration, o buffer conterá as informações de espaço de configuração PCI para o SlotNumber e o número de função especificados. O Deslocamento e o Comprimento especificados determinam quantas informações fornecer. 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 gravações em registros 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.

Retornar valor

O valor retornado é o comprimento real lido do espaço de configuração.

Comentários

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)

Confira também

BUS_DATA_TYPE

HalGetBusData

HalSetBusDataByOffset

HalSetBusData

HalTranslateBusAddress

PCI_COMMON_CONFIG