Функция HalSetBusDataByOffset (ntddk.h)
Предупреждение
HalGetBusDataByOffset и HalSetBusDataByOffset предоставляются для обратной совместимости, но их следует использовать только в том случае, если методы, рекомендуемые в доступ к пространству конфигурации устройств нельзя использовать.
Эта функция задает данные конфигурации шины для устройства на динамически настраиваемой шине ввода-вывода с опубликованным стандартным интерфейсом.
Синтаксис
NTHALAPI ULONG HalSetBusDataByOffset(
[in] BUS_DATA_TYPE BusDataType,
[in] ULONG BusNumber,
[in] ULONG SlotNumber,
[in] PVOID Buffer,
[in] ULONG Offset,
[in] ULONG Length
);
Параметры
[in] BusDataType
Данные шины, заданные. Это значение может быть PCIConfiguration. Верхняя граница поддерживаемых типов всегда — MaximumBusDataType.
[in] BusNumber
Отсчитываемое от нуля число автобусов в системах с несколькими автобусами одного и того же BusDataType. Этот аргумент также содержит номер сегмента. Чтобы указать номер сегмента, используйте (сегмент << 8) | BusNumber
[in] SlotNumber
Логический номер слота или расположение устройства. При указании PCIConfiguration в качестве BusDataType это значение указывается как PCI_SLOT_NUMBER значение, которое является объединенными номерами слотов и функций.
[in] Buffer
Указатель на буфер, предоставленный вызывающим, для сведений о конфигурации, относящихся к BusDataType.
При указании PCIConfiguration буфер содержит сведения о пространстве конфигурации PCI для указанного номера слота и номера функции. Указанное смещение и длина определяют объем информации для предоставления. Некоторые члены пространства конфигурации PCI имеют значения только для чтения. Вызывающий объект отвечает за сохранение системных значений элементов только для чтения. Обратите внимание, что для устройства PCI Типа 1 HalSetBusDataByOffset предотвращает запись в общий заголовок (первые 256 байт пространства конфигурации).
[in] Offset
Смещение байтов в структуре PCI_COMMON_CONFIG, где начинаются значения конфигурации, предоставленные вызывающим. Вызывающие могут использовать системную константу PCI_COMMON_HDR_LENGTH, чтобы указать область PCI_COMMON_CONFIG для конкретного устройства.
[in] Length
Количество байтов в буфере.
Возвращаемое значение
Возвращаемое значение — это фактическая длина, записанная в пространство конфигурации.
Замечания
Драйвер может вызывать эту функцию или HalSetBusData, если необычные обстоятельства или характер устройства требует такого вызова. Например, драйвер может вызвать любой из этих функций, чтобы очистить бит в регистре состояния PCI, если его устройство сигнализирует целевому прерыванию во время инициализации. Обычно оборудование или код запуска настраивает устройство соответствующим образом.
При доступе к определенной области конфигурации PCI HalSetBusDataByOffset гарантирует, что эта функция никогда не считывает или записывает данные за пределы диапазона, указанного входным смещением и длиной, и даже если входная длина является точно байтом или двухбайтовым словом, эта функция никогда не обращается к данным за пределами запрошенного диапазона.
Требования
Требование | Ценность |
---|---|
заголовка | ntddk.h (include Ntddk.h) |