Função HalSetBusDataByOffset (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 de Dispositivo não puderem ser usados.

Essa função define dados de configuração de barramento para um dispositivo em um barramento de E/S configurável dinamicamente com uma interface padrão publicada.

Sintaxe

NTHALAPI ULONG HalSetBusDataByOffset(
  [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 definidos. Esse valor pode ser PCIConfiguration. O limite superior nos tipos com suporte é sempre MaximumBusDataType.

[in] BusNumber

Número atribuído ao sistema e baseado em zero do barramento 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) | Número de Barramento

[in] SlotNumber

Número de slot lógico ou local do dispositivo. Se você especificar PCIConfiguration como BusDataType, esse valor será especificado como 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 obter 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 especificado e o número da função. 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 que gravações registrem-se dentro do cabeçalho comum (os primeiros 256bytes do espaço de configuração).

[in] Offset

Deslocamento de bytes na estrutura PCI_COMMON_CONFIG em que os valores de configuração fornecidos pelo chamador começam. 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 de bytes no Buffer.

Retornar valor

O valor retornado é o comprimento real gravado no espaço de configuração.

Comentários

Um driver pode chamar essa função ou HalSetBusData se circunstâncias incomuns ou a natureza de seu dispositivo exigirem tal chamada. Por exemplo, um driver pode chamar qualquer uma dessas funções para limpar um pouco na PCI status registrar se seu dispositivo sinalizar uma anulação de destino durante a inicialização. Normalmente, o código de inicialização ou hardware configura o dispositivo adequadamente.

Ao acessar a área específica do dispositivo do espaço de configuração PCI, HalSetBusDataByOffset garante que essa função nunca leia ou grave dados fora do intervalo especificado pelo Deslocamento e Comprimento de entrada e, mesmo que o Comprimento de entrada seja exatamente um byte ou uma palavra de dois bytes, essa função nunca acessa nenhum dado fora do intervalo solicitado.

Requisitos

Requisito Valor
Cabeçalho ntddk.h (inclua Ntddk.h)

Confira também

BUS_DATA_TYPE

HalGetBusData

HalGetBusDataByOffset

HalSetBusData

HalTranslateBusAddress

PCI_COMMON_CONFIG