HalGetBusDataByOffset 関数 (ntddk.h)
警告
HalGetBusDataByOffset と HalSetBusDataByOffset は下位互換性のために提供されていますが、「 デバイス構成空間へのアクセス 」で推奨されるメソッドを使用できない場合にのみ使用してください。
この関数は、I/O バス上のスロットまたはアドレスに関する情報をオフセットから取得します。
構文
NTHALAPI ULONG HalGetBusDataByOffset(
[in] BUS_DATA_TYPE BusDataType,
[in] ULONG BusNumber,
[in] ULONG SlotNumber,
[in] PVOID Buffer,
[in] ULONG Offset,
[in] ULONG Length
);
パラメーター
[in] BusDataType
取得するバス データ。 サポートされているバスの種類の上限は常に MaximumBusDataType です。 サポートされている BusDataType は、 PCIConfiguration
他のすべての型は非推奨です。
[in] BusNumber
同じ BusDataType のバスが複数あるシステム内のバスの 0 から始まる番号とシステム割り当て番号。 この引数には、セグメント番号も含まれます。 セグメント番号を指定するには、 (セグメント << 8) |BusNumber
[in] SlotNumber
デバイスの論理スロット番号または場所。 BusDataType として PCIConfiguration を指定した場合、この値はPCI_SLOT_NUMBER値です。これはスロットと関数の番号を組み合わせた値です。
[in] Buffer
BusDataType に固有の構成情報の呼び出し元が指定したバッファーへのポインター。
PCIConfiguration を指定した場合、バッファーには、指定した SlotNumber と関数番号の PCI 構成領域情報が含まれます。 指定した Offset と Length によって、指定する情報の量が決まります。 PCI 構成空間の特定のメンバーには読み取り専用の値があります。呼び出し元は、読み取り専用メンバーのシステム指定値を保持する役割を担います。 Type-1 PCI デバイスの場合、HalSetBusDataByOffset は共通ヘッダー (構成空間の最初の 256 バイト) 内のレジスタへの書き込みを防ぐことに注意してください。
[in] Offset
要求された情報を返す必要があるPCI_COMMON_CONFIG構造体のバイト オフセット。 呼び出し元は、システム定義の定数PCI_COMMON_HDR_LENGTHを使用して、PCI_COMMON_CONFIGのデバイス固有の領域を指定できます。
[in] Length
バッファー内の最大バイト数。
戻り値
戻り値は、構成スペースから読み取られた実際の長さです。
注釈
デバイス ドライバーは、初期化中にこの関数を呼び出して、特定の I/O バス上でデバイスを見つけます。 返されるバス型固有の構成データは、HalTranslateBusAddress などの他の構成および初期化関数の後の呼び出しで使用できます。
PCI 構成領域のデバイス固有の領域にアクセスする場合、HalGetBusDataByOffset は、この関数が入力 Offset と Length で指定された範囲外のデータを読み取ったり書き込んだりすることはありません。 入力 Length が 1 バイトまたは 2 バイトの単語である場合でも、この関数は要求された範囲外のデータにアクセスすることはありません。
要件
要件 | 値 |
---|---|
Header | ntddk.h (Ntddk.h を含む) |