Función HalSetBusDataByOffset (ntddk.h)
Advertencia
se proporcionan halGetBusDataByOffset y HalSetBusDataByOffset, pero solo se deben usar si no se pueden usar los métodos recomendados en acceso al espacio de configuración del dispositivo.
Esta función establece los datos de configuración de bus para un dispositivo en un bus de E/S configurable dinámicamente con una interfaz estándar publicada.
Sintaxis
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
Datos del bus que se van a establecer. Este valor puede ser PCIConfiguration. El límite superior de los tipos admitidos siempre es MaximumBusDataType.
[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 se especifica como 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 valor de SlotNumber y el número de función especificados. El desplazamiento y la longitud especificados determinan la cantidad de información que se debe 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 dentro del encabezado común (los primeros 256 bytes del espacio de configuración).
[in] Offset
Desplazamiento de bytes en la estructura PCI_COMMON_CONFIG donde comienzan los valores de configuración proporcionados por el autor de la llamada. 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 de bytes en el búfer.
Valor devuelto
El valor devuelto es la longitud real escrita en el espacio de configuración.
Observaciones
Un controlador puede llamar a esta función o HalSetBusData si circunstancias inusuales o la naturaleza de su dispositivo requiere dicha llamada. Por ejemplo, un controlador podría llamar a cualquiera de estas funciones para borrar un poco en el registro de estado pci si su dispositivo señala una anulación de destino durante la inicialización. Normalmente, el código de inicio o hardware configura el dispositivo de forma adecuada.
Al acceder al área específica del dispositivo del espacio de configuración pci, HalSetBusDataByOffset garantiza que esta función nunca lee o escribe datos fuera del intervalo especificado por el desplazamiento y la longitud de entrada e incluso si la longitud de entrada es exactamente un byte o una palabra de dos bytes, esta función nunca accede a ningún dato fuera del intervalo solicitado.
Requisitos
Requisito | Valor |
---|---|
encabezado de | ntddk.h (incluya Ntddk.h) |