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