Ағылшын тілінде оқу

Бөлісу құралы:


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

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

Синтаксис

C++
GET_SET_DEVICE_DATA GetSetDeviceData;

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

Параметры

[in] Context

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

[in] DataType

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

[in] Buffer

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

[in] Offset

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

[in] Length

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

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

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

Замечания

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

значение 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 (include Ntddk.h)
IRQL См. раздел "Примечания".

См. также

BUS_INTERFACE_STANDARD

IRP_MN_READ_CONFIG