Función HalGetBusDataByOffset (ntddk.h)

Advertencia

HalGetBusDataByOffset y HalSetBusDataByOffset se proporcionan para la compatibilidad con versiones anteriores, pero solo se deben usar si no se pueden usar los métodos recomendados en el espacio de configuración del dispositivo .

Esta función recupera información, comenzando en el desplazamiento, sobre una ranura o dirección en un bus de E/S.

Sintaxis

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

Datos de bus que se van a recuperar. El límite superior de los tipos de bus admitidos siempre es MaximumBusDataType. El único BusDataType admitido es PCIConfiguration Todos los demás tipos están en desuso.

[in] BusNumber

Número asignado por el sistema y basado en cero del bus en sistemas con varios buses del mismo BusDataType. Este argumento también incluye el número de segmento. Para especificar el número de segmento, use (Segmento << 8) | BusNumber

[in] SlotNumber

Número de ranura lógica o ubicación del dispositivo. Si especifica PCIConfiguration como BusDataType, este valor es un valor de PCI_SLOT_NUMBER, que es la ranura y los números de función combinados.

[in] Buffer

Puntero a un búfer proporcionado por el autor de la llamada para obtener información de configuración específica de BusDataType.

Si especifica PCIConfiguration, el búfer contiene la información del espacio de configuración de PCI para el número de función y SlotNumber especificados. El desplazamiento y la longitud especificados determinan la cantidad de información que se va a proporcionar. Algunos miembros del espacio de configuración pci tienen valores de solo lectura El autor de la llamada es responsable de conservar los valores proporcionados por el sistema de los miembros de solo lectura. Tenga en cuenta que para un dispositivo PCI de tipo 1, HalSetBusDataByOffset impide que las escrituras se registren en el encabezado común (primeros 256bytes del espacio de configuración).

[in] Offset

Desplazamiento de bytes en la estructura PCI_COMMON_CONFIG para la que se debe devolver la información solicitada. Los autores de llamadas pueden usar la constante definida por el sistema PCI_COMMON_HDR_LENGTH para especificar el área específica del dispositivo de PCI_COMMON_CONFIG.

[in] Length

Número máximo de bytes en el búfer.

Valor devuelto

El valor devuelto es la longitud real leída desde el espacio de configuración.

Comentarios

Los controladores de dispositivo llaman a esta función durante la inicialización para localizar sus dispositivos en un bus de E/S determinado. Puede usar los datos de configuración específicos del tipo de bus devueltos en llamadas posteriores a otras funciones de configuración e inicialización, como HalTranslateBusAddress.

Al acceder al área específica del dispositivo del espacio de configuración pci, HalGetBusDataByOffset garantiza que esta función nunca lee o escribe datos fuera del intervalo especificado por el desplazamiento y la longitud de entrada. Incluso si la longitud de entrada es exactamente una palabra de 1 byte o de 2 bytes, esta función nunca tiene acceso a ningún dato fuera del intervalo solicitado.

Requisitos

Requisito Valor
Header ntddk.h (incluya Ntddk.h)

Consulte también

BUS_DATA_TYPE

HalGetBusData

HalSetBusDataByOffset

HalSetBusData

HalTranslateBusAddress

PCI_COMMON_CONFIG