ScsiPortGetBusData 関数 (srb.h)
ScsiPortGetBusData ルーチンは、ミニポート ドライバーの HwScsiFindAdapter ルーチンが特定の I/O バスで特定のアダプターをサポートしているかどうかを判断し、その場合は HBA を構成するために使用できるバスの種類固有の構成情報を返します。
構文
SCSIPORT_API ULONG ScsiPortGetBusData(
[in] PVOID DeviceExtension,
[in] ULONG BusDataType,
[in] ULONG SystemIoBusNumber,
[in] ULONG SlotNumber,
[in] PVOID Buffer,
[in] ULONG Length
);
パラメーター
[in] DeviceExtension
ミニポート ドライバーの HBA ごとの記憶域へのポインター。
[in] BusDataType
返されるバス固有の構成データ の種類を 指定する BUS_DATA_TYPE 型の値を格納します。 現在、この値には 、Cmos、 EisaConfiguration、 Pos、 PCIConfiguration のいずれかを指定できます。 ただし、今後、追加の種類のバス構成がサポートされる予定です。 サポートされている型の上限は常に MaximumBusDataType です。
[in] SystemIoBusNumber
I/O バスのシステム割り当て番号を指定します。 ミニポート ドライバーの HwScsiFindAdapter ルーチンは、 入力PORT_CONFIGURATION_INFORMATION SystemIoBusNumber メンバーからこの値を取得します。
[in] SlotNumber
デバイスの論理スロット番号または場所を指定します。
BUSDataType として PCIConfiguration を指定する場合は、このパラメーターをPCI_SLOT_NUMBER型の値として指定する必要があります。
[in] Buffer
構成データが返されるバッファーまたは領域へのポインター。指定された Length が 0 の場合は、オペレーティング システム固有のポート ドライバーが割り当てるバッファーへのポインターを返す場所を指します。
[in] Length
Buffer で返す最大バイト数を指定します。呼び出し元がオペレーティング システム固有のポート ドライバーにデータを格納するバッファーを割り当てる必要がある場合は 0 を指定します。
戻り値
ScsiPortGetBusData は、バッファーに格納されている構成情報のバイト数を返します。 入力 BusDataType が PCIConfiguration の場合、ScsiPortGetBusData は次のいずれかの値を返してエラーを示すことができます。
リターン コード | 説明 |
---|---|
|
PCI バスが存在しません。 |
|
PCI バスは存在しますが、指定された PCI SlotNumber にデバイスがありません。 Buffer には、PCI_COMMON_CONFIG VendorId メンバーでPCI_INVALID_VENDOR_ID値が含まれています。 |
注釈
ScsiPortGetBusData は、ミニポート ドライバーの HwScsiFindAdapter ルーチンから、またはコントロールの種類が ScsiSetRunningConfig の場合は HwScsiAdapterControl からのみ呼び出すことができます。 他のミニポート ドライバー ルーチンからの呼び出しでは、呼び出し元のシステムエラーまたは正しくない操作が発生します。
ScsiPortGetBusData によって返される構成データは、ミニポート ドライバーが ScsiPortGetBusData をもう一度呼び出すまで有効です。 呼び出し元の HwScsiFindAdapter ルーチンが制御を返すとすぐに、返された構成データはすべて無効になります。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | srb.h (Miniport.h、Scsi.h を含む) |
Library | Scsiport.lib |