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