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

介面特定內容資訊的指標。 呼叫端會傳遞值,這個值會當做介面之BUS_INTERFACE_STANDARD結構的Context成員傳遞。

[in] DataType

要讀取的總線數據類型。 如需詳細資訊,請參閱 IRP_MN_READ_CONFIG 中的 WhichSpace 參數討論。

[in] Buffer

緩衝區的指標,其中包含要從裝置的組態空間讀取的組態資訊。

[in] Offset

此讀取作業開始所在的總線特定裝置數據的位移。 例如,如果 DataType 參數PCI_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
 

下列備註適用於支持單一根 I/O 虛擬化 (SR-IOV) 介面之裝置上的 PCI Express (PCIe) 虛擬函式的驅動程式 () VF:

  • PCIe VFs 的驅動程序應該在 IRQL <= APC_LEVEL呼叫 GetBusData 例程。
  • 若要讀取 IRQL = DISPATCH_LEVEL VF 的 PCI 組態數據,驅動程式必須發出 IRP_MN_READ_CONFIG的 I/O 要求。

規格需求

需求
目標平台 桌面
標頭 wdm.h (包含 Ntddk.h)
IRQL 請參閱一節。

另請參閱

BUS_INTERFACE_STANDARD

IRP_MN_READ_CONFIG