STORAGE_ADAPTER_DESCRIPTOR 구조체(ntddstor.h)
STORAGE_ADAPTER_DESCRIPTOR 구조는 IOCTL_STORAGE_QUERY_PROPERTY 요청과 함께 디바이스에 대한 스토리지 어댑터 설명자 데이터를 검색하는 데 사용됩니다.
구문
typedef struct _STORAGE_ADAPTER_DESCRIPTOR {
ULONG Version;
ULONG Size;
ULONG MaximumTransferLength;
ULONG MaximumPhysicalPages;
ULONG AlignmentMask;
BOOLEAN AdapterUsesPio;
BOOLEAN AdapterScansDown;
BOOLEAN CommandQueueing;
BOOLEAN AcceleratedTransfer;
#if ...
BOOLEAN BusType;
#else
UCHAR BusType;
#endif
USHORT BusMajorVersion;
USHORT BusMinorVersion;
UCHAR SrbType;
UCHAR AddressType;
} STORAGE_ADAPTER_DESCRIPTOR, *PSTORAGE_ADAPTER_DESCRIPTOR;
구성원
Version
구조 체 STORAGE_ADAPTER_DESCRIPTOR 버전을 포함합니다. 멤버가 구조체에 추가되면 이 멤버의 값이 변경됩니다.
Size
설명자의 총 크기(바이트)를 지정합니다.
MaximumTransferLength
HBA(호스트 버스 어댑터)가 단일 작업에서 전송할 수 있는 최대 바이트 수를 지정합니다.
MaximumPhysicalPages
HBA가 단일 전송에서 관리할 수 있는 불연속 물리적 페이지의 최대 수를 지정합니다(즉, 분산/수집 지원의 범위).
AlignmentMask
전송에 대한 HBA의 맞춤 요구 사항을 지정합니다. 스토리지 클래스 드라이버는 디바이스 개체의 AlignmentRequirement 필드를 이 값으로 설정합니다. 맞춤 마스크는 전송 작업에 HBA에 필요한 버퍼에 대한 맞춤 제한을 나타냅니다. 유효한 마스크 값은 0(바이트 정렬), 1(단어 정렬), 3(DWORD 정렬) 및 7(이중 DWORD 맞춤)입니다.
AdapterUsesPio
HBA가 PIO(프로그래밍된 입력/출력)를 사용하고 데이터 버퍼의 실제 메모리에 매핑된 시스템 공간 가상 주소를 사용해야 하는 경우 TRUE 를 나타냅니다. FALSE 인 경우 HBA는 PIO를 사용하지 않습니다.
AdapterScansDown
HBA가 BIOS 디바이스를 검색하는 경우 TRUE 를 나타냅니다. 즉, HBA는 가장 낮은 디바이스 번호가 아닌 가장 높은 디바이스 번호로 검사를 시작합니다. FALSE 이면 HBA가 가장 낮은 디바이스 번호로 검사를 시작합니다. 이 멤버는 레거시 미니포트 드라이버용으로 예약되어 있습니다.
CommandQueueing
HBA가 SCSI 태그가 지정된 큐 및/또는 논리 단위별 내부 큐 또는 SCSI가 아닌 큐를 지원하는 경우를 TRUE 로 나타냅니다. FALSE 인 경우 HBA는 SCSI 태그가 지정된 큐 또는 논리 단위별 내부 큐를 지원하지 않습니다.
AcceleratedTransfer
HBA가 I/O 속도를 높이기 위한 방법으로 동기 전송을 지원하는 경우 TRUE 를 나타냅니다. FALSE 인 경우 HBA는 I/O 속도를 높이기 위한 방법으로 동기 전송을 지원하지 않습니다.
BusType
디바이스가 연결된 버스 유형을 나타내는 STORAGE_BUS_TYPE 형식의 값을 지정합니다.
BusMajorVersion
HBA의 주 버전 번호(있는 경우)를 지정합니다.
BusMinorVersion
HBA의 부 버전 번호(있는 경우)를 지정합니다.
SrbType
HBA에서 사용하는 SRB(SCSI 요청 블록) 형식을 지정합니다. 이 멤버는 Windows 8 시작해도 유효합니다.
| 값 | 의미 |
|---|---|
| SRB_TYPE_SCSI_REQUEST_BLOCK | HBA는 SCSI 요청 블록을 사용합니다. |
| SRB_TYPE_STORAGE_REQUEST_BLOCK | HBA는 확장 SCSI 요청 블록을 사용합니다. |
AddressType
HBA의 주소 유형을 지정합니다. 이 멤버는 Windows 8 시작해도 유효합니다.
| 값 | 의미 |
|---|---|
| STORAGE_ADDRESS_TYPE_BTL8 | HBA는 8비트 버스, 대상 및 LUN 주소 지정을 사용합니다. |
설명
Storage 클래스 드라이버는 I/O 제어 코드 IOCTL_STORAGE_QUERY_PROPERTY 디바이스 제어 요청을 실행하여 데이터 전송 작업에 대한 HBA의 구성 정보를 포함하는 이 구조를 검색합니다. 버스의 디바이스 개체 또는 기본 버스에 요청을 전달하는 FDO(기능 디바이스 개체)에서 구조를 검색할 수 있습니다.
동기 전송을 지원하는 HBA에서 과도한 프로토콜 오류가 발생하는 경우(AcceleratedTransfer 는 TRUE) 스토리지 클래스 드라이버는 SRB에서 SRB_FLAGS_DISABLE_SYNCH_TRANSFER 설정하여 동기 전송을 사용하지 않도록 설정할 수 있습니다.
요구 사항
| 헤더 | ntddstor.h(Ntddstor.h 포함) |
참고 항목
피드백
다음에 대한 사용자 의견 제출 및 보기