Поделиться через


функция обратного вызова GET_SET_DEVICE_DATA (wdm.h)

Подпрограмма GetBusData считывает данные из пространства конфигурации устройства.

Синтаксис

GET_SET_DEVICE_DATA GetSetDeviceData;

ULONG GetSetDeviceData(
  [in] PVOID Context,
  [in] ULONG DataType,
  [in] PVOID Buffer,
  [in] ULONG Offset,
  [in] ULONG Length
)
{...}

Параметры

[in] Context

Указатель на сведения о контексте для конкретного интерфейса. Вызывающий объект передает значение, переданное в качестве элемента Contextструктуры BUS_INTERFACE_STANDARD для интерфейса.

[in] DataType

Тип считываемых данных шины. Дополнительные сведения см. в описании параметра WhichSpace в IRP_MN_READ_CONFIG.

[in] Buffer

Указатель на буфер, содержащий сведения о конфигурации, считываемые из пространства конфигурации устройства.

[in] Offset

Смещение данных устройства, относящихся к шине, с которого начинается эта операция чтения. Например, если параметр DataType имеет значение PCI_WHICHSPACE_CONFIG, значение параметра Offset представляет собой смещение в пространстве конфигурации PCI.

[in] Length

Длина считываемых данных в байтах.

Возвращаемое значение

Подпрограмма GetBusData возвращает длину в байтах данных конфигурации, которые считываются после успешной операции чтения. Если операция чтения завершается неудачно, возвращается значение, равное нулю.

Комментарии

В зависимости от значения параметра DataType подпрограмму GetBusData можно вызывать только из уровней запросов прерываний (IRQL), определенных в следующей таблице.

Значение DataType IRQL
PCI_WHICHSPACE_CONFIG <= DIRQL
PCI_WHICHSPACE_ROM <= APC_LEVEL
PCCARD_COMMON_MEMORY

PCCARD_COMMON_MEMORY_INDIRECT

<= DISPATCH_LEVEL
PCCARD_ATTRIBUTE_MEMORY

PCCARD_ATTRIBUTE_MEMORY_INDIRECT

<= DISPATCH_LEVEL
PCCARD_PCI_CONFIGURATION_SPACE <= DIRQL
 

Следующие замечания относятся к драйверам для виртуальных функций PCI Express (PCIe) на устройствах, поддерживающих интерфейс SR-IOV.

  • Драйверы для ВИРТУАЛЬНЫх машин PCIe должны вызывать подпрограмму GetBusData в IRQL <= APC_LEVEL.
  • Чтобы считывать данные конфигурации PCI для VF в IRQL = DISPATCH_LEVEL, драйвер должен выдавать запросы ввода-вывода IRP_MN_READ_CONFIG.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть wdm.h (включая Ntddk.h)
IRQL См. раздел "Примечания".

См. также раздел

BUS_INTERFACE_STANDARD

IRP_MN_READ_CONFIG