STORAGE_PROTOCOL_DATA_DESCRIPTOR 구조체(ntddstor.h)
이 구조는 IOCTL_STORAGE_SET_PROPERTY 및 IOCTL_STORAGE_QUERY_PROPERTY 함께 사용하여 스토리지 디바이스 또는 어댑터에서 프로토콜별 데이터를 각각 설정하거나 쿼리합니다.
typedef struct _STORAGE_PROTOCOL_DATA_DESCRIPTOR {
ULONG Version;
ULONG Size;
STORAGE_PROTOCOL_SPECIFIC_DATA ProtocolSpecificData;
} STORAGE_PROTOCOL_DATA_DESCRIPTOR, *PSTORAGE_PROTOCOL_DATA_DESCRIPTOR;
Version
이 구조체의 버전입니다. (STORAGE_PROTOCOL_DATA_DESCRIPTOR)의크기로 설정합니다.
Size
모든 프로토콜 데이터의 공간을 포함하여 설명자의 총 크기(바이트)입니다. =>sizeof(STORAGE_PROTOCOL_DATA_DESCRIPTOR)이어야 합니다.
ProtocolSpecificData
STORAGE_PROTOCOL_SPECIFIC_DATA형식의 프로토콜별 데이터입니다.
IOCTL_STORAGE_QUERY_PROPERTY 사용하여 STORAGE_PROTOCOL_DATA_DESCRIPTOR 프로토콜 관련 정보를 검색하는 경우 다음과 같이 STORAGE_PROPERTY_QUERY 구조를 구성합니다.
- STORAGE_PROPERTY_QUERY 및 STORAGE_PROTOCOL_SPECIFIC_DATA 구조를 모두 포함할 수 있는 버퍼를 할당합니다.
- PropertyID 필드를 각각 컨트롤러 또는 디바이스/네임스페이스 요청에 대해 StorageAdapterProtocolSpecificProperty 또는 StorageDeviceProtocolSpecificProperty 설정합니다.
- QueryType 필드를 propertyStandardQuery 설정합니다.
- STORAGE_PROTOCOL_SPECIFIC_DATA 구조체를 원하는 값으로 채웁니다. STORAGE_PROTOCOL_SPECIFIC_DATA 시작은 STORAGE_PROPERTY_QUERYAdditionalParameters 필드입니다.
NVMe 프로토콜 관련 정보의 형식을 지정하려면 다음과 같이 STORAGE_PROTOCOL_SPECIFIC_DATA 구조를 구성합니다.
- ProtocolType 필드를 protocolTypeNVMe 설정합니다.
-
DataType 필드를 STORAGE_PROTOCOL_NVME_DATA_TYPE정의된 열거형 값으로 설정합니다.
- NVMeDataTypeIdentify 사용하여 컨트롤러 데이터 식별 또는 네임스페이스 데이터 식별
- NVMeDataTypeLogPage 사용하여 로그 페이지(SMART/상태 데이터 포함)를 가져옵니다.
- NVMeDataTypeFeature 사용하여 NVMe 드라이브의 기능을 가져옵니다.
ATA 프로토콜 관련 정보의 형식을 지정하려면 다음과 같이 STORAGE_PROTOCOL_SPECIFIC_DATA 구조를 구성합니다.
- ProtocolType 필드를 ProtocolTypeAta 설정합니다.
-
DataType 필드를 STORAGE_PROTOCOL_ATA_DATA_TYPE정의된 열거형 값으로 설정합니다.
- ataDataTypeIdentify 사용하여 ATA 드라이브를 식별합니다.
- ataDataTypeLogPage 사용하여 ATA 드라이브에서 로그 페이지를 가져옵니다.
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 10 |
지원되는 최소 서버 | Windows Server 2016 |
헤더 | ntddstor.h(Ntddstor.h 포함) |