STORAGE_DEVICE_DESCRIPTOR 구조체(ntddstor.h)
STORAGE_DEVICE_DESCRIPTOR 구조는 IOCTL_STORAGE_QUERY_PROPERTY 요청과 함께 디바이스에 대한 스토리지 디바이스 설명자 데이터를 검색하는 데 사용됩니다.
통사론
typedef struct _STORAGE_DEVICE_DESCRIPTOR {
ULONG Version;
ULONG Size;
UCHAR DeviceType;
UCHAR DeviceTypeModifier;
BOOLEAN RemovableMedia;
BOOLEAN CommandQueueing;
ULONG VendorIdOffset;
ULONG ProductIdOffset;
ULONG ProductRevisionOffset;
ULONG SerialNumberOffset;
STORAGE_BUS_TYPE BusType;
ULONG RawPropertiesLength;
UCHAR RawDeviceProperties[1];
} STORAGE_DEVICE_DESCRIPTOR, *PSTORAGE_DEVICE_DESCRIPTOR;
회원
Version
STORAGE_DEVICE_DESCRIPTOR 구조체의 크기를 나타냅니다. 멤버가 구조체에 추가되면 이 멤버의 값이 변경됩니다.
Size
구조체에 추가되는 ID 문자열을 포함하여 설명자의 총 크기를 바이트 단위로 지정합니다.
DeviceType
SCSI(Small Computer Systems Interface) 사양에 정의된 대로 디바이스 유형을 지정합니다.
DeviceTypeModifier
SCSI 사양에 정의된 디바이스 유형 한정자(있는 경우)를 지정합니다. 디바이스 유형 한정자가 없으면 이 멤버는 0입니다.
RemovableMedia
TRUE가 디바이스의 미디어(있는 경우)를 이동식으로 때를 나타냅니다. 디바이스에 미디어가 없으면 이 멤버를 무시해야 합니다. FALSE 디바이스의 미디어는 이동식이 아닙니다.
CommandQueueing
디바이스에서 여러 개의 미해결 명령(SCSI 태그가 지정된 큐 또는 해당)을 지원하는 TRUE 시기를 나타냅니다. FALSE 디바이스는 SCSI 태그가 지정된 큐 또는 해당 큐를 지원하지 않습니다. STORPORT 드라이버는 명령 동기화를 담당합니다.
VendorIdOffset
구조체의 시작 부분에서 디바이스의 공급업체 ID가 포함된 NULL종료된 ASCII 문자열로의 바이트 오프셋을 지정합니다. 디바이스에 공급업체 ID가 없으면 이 멤버는 0입니다.
ProductIdOffset
구조체의 시작 부분에서 디바이스의 제품 ID가 포함된 NULL종료된 ASCII 문자열로의 바이트 오프셋을 지정합니다. 디바이스에 제품 ID가 없으면 이 멤버는 0입니다.
ProductRevisionOffset
구조체의 시작 부분에서 디바이스의 제품 수정 문자열을 포함하는 NULL종료된 ASCII 문자열로의 바이트 오프셋을 지정합니다. 디바이스에 제품 수정 문자열이 없으면 이 멤버는 0입니다.
SerialNumberOffset
구조체의 시작 부분에서 디바이스의 일련 번호를 포함하는 NULL종료된 ASCII 문자열로의 바이트 오프셋을 지정합니다. 디바이스에 일련 번호가 없으면 이 멤버는 0입니다.
BusType
디바이스가 연결된 버스 유형을 나타내는 STORAGE_BUS_TYPE 형식의 열거자 값을 지정합니다. 이 구조체의 끝에 있는 원시 디바이스 속성을 해석하는 데 사용해야 합니다(있는 경우).
RawPropertiesLength
이 설명자에 추가된 버스별 데이터의 바이트 수를 나타냅니다.
RawDeviceProperties[1]
버스 특정 속성 데이터의 첫 번째 바이트에 대한 자리 표시자로 사용되는 길이 1의 배열을 포함합니다.
발언
애플리케이션 및 스토리지 클래스 드라이버는 I/O 제어 코드 IOCTL_STORAGE_QUERY_PROPERTY 디바이스 제어 요청을 실행하여 대상 디바이스에 대한 정보를 포함하는 이 구조를 검색합니다. 구조체는 FDO에서만 검색할 수 있습니다. 어댑터에서 디바이스 속성을 검색하려고 하면 오류가 발생합니다.
애플리케이션 또는 드라이버는 검색된 STORAGE_DEVICE_DESCRIPTOR 구조를 버전 및 크기포함하는 STORAGE_DESCRIPTOR_HEADER캐스팅하여 필요한 버퍼 크기를 확인할 수 있습니다.
요구 사항
요구 | 값 |
---|---|
헤더 | ntddstor.h(Ntddstor.h 포함) |