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 ルーチンは、正常な読み取り操作の後に読み取られる構成データの長さをバイト単位で返します。 読み取り操作が失敗した場合は、0 の値が返されます。
備考
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 |
次の注釈は、単一ルート I/O 仮想化 (SR-IOV) インターフェイスをサポートするデバイス上の PCI Express (PCIe) 仮想関数 (VFs) のドライバーに適用されます。
- PCIe VFs のドライバーは、IRQL <= APC_LEVEL で GetBusData ルーチンを呼び出す必要があります。
- IRQL = DISPATCH_LEVEL で VF の PCI 構成データを読み取るには、ドライバーが IRP_MN_READ_CONFIGの I/O 要求を発行する必要があります。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | wdm.h (Ntddk.h を含む) |
IRQL | 「解説」セクションを参照してください。 |