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
디바이스의 논리적 슬롯 번호 또는 위치를 지정합니다.
PCIConfiguration이 BusDataType으로 지정된 경우 이 매개 변수를 PCI_SLOT_NUMBER 형식 값으로 지정해야 합니다.
[in] Buffer
구성 데이터가 반환되는 버퍼 또는 영역에 대한 포인터이거나 지정된 Length 가 0인 경우 운영 체제별 포트 드라이버가 할당하는 버퍼에 대한 포인터를 반환하는 위치를 가리킵니다.
[in] Length
버퍼에서 반환할 최대 바이트 수를 지정하고, 호출자가 데이터를 포함하도록 버퍼를 할당하기 위해 운영 체제별 포트 드라이버가 필요한 경우 0을 지정합니다.
반환 값
ScsiPortGetBusData 는 버퍼에 저장된 구성 정보의 바이트 수를 반환합니다. 입력 BusDataType이 PCIConfiguration이면 ScsiPortGetBusData는 다음 값 중 하나를 반환하여 오류를 나타낼 수 있습니다.
반환 코드 | 설명 |
---|---|
|
PCI 버스가 없습니다. |
|
PCI 버스가 있지만 지정된 PCI SlotNumber에는 디바이스가 없습니다. 버퍼에는 PCI_COMMON_CONFIG VendorId 멤버의 PCI_INVALID_VENDOR_ID 값이 포함됩니다. |
설명
ScsiPortGetBusData는 컨트롤 형식이 ScsiSetRunningConfig인 경우 미니포트 드라이버의 HwScsiFindAdapter 루틴 또는 HwScsiAdapterControl에서만 호출할 수 있습니다. 다른 미니포트 드라이버 루틴에서 호출하면 호출자에 대한 시스템 오류 또는 잘못된 작업이 발생합니다.
ScsiPortGetBusData에서 반환된 구성 데이터는 미니포트 드라이버가 ScsiPortGetBusData를 다시 호출할 때까지만 유효합니다. 호출자의 HwScsiFindAdapter 루틴이 컨트롤을 반환하는 즉시 반환된 구성 데이터가 무효화됩니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 데스크톱 |
머리글 | srb.h(Miniport.h, Scsi.h 포함) |
라이브러리 | Scsiport.lib |