共用方式為


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) 虛擬函式 (VFs) 的驅動程式:

  • PCIe VF 的驅動程式應該在 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