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) |