Share via


STORAGE_PROTOCOL_DATA_DESCRIPTOR 구조체(winioctl.h)

이 구조체는 스토리지 디바이스 또는 어댑터에서 프로토콜별 데이터를 반환하기 위해 IOCTL_STORAGE_QUERY_PROPERTY와 함께 사용됩니다. .

구문

typedef struct _STORAGE_PROTOCOL_DATA_DESCRIPTOR {
  DWORD                          Version;
  DWORD                          Size;
  STORAGE_PROTOCOL_SPECIFIC_DATA ProtocolSpecificData;
} STORAGE_PROTOCOL_DATA_DESCRIPTOR, *PSTORAGE_PROTOCOL_DATA_DESCRIPTOR;

멤버

Version

이 구조체의 버전입니다.

Size

모든 프로토콜 데이터의 공간을 포함하여 설명자의 총 크기입니다.

ProtocolSpecificData

STORAGE_PROTOCOL_SPECIFIC_DATA 형식의 프로토콜별 데이터입니다.

설명

IOCTL_STORAGE_QUERY_PROPERTY 사용하여 STORAGE_PROTOCOL_DATA_DESCRIPTOR 프로토콜 관련 정보를 검색하는 경우 다음과 같이 STORAGE_PROPERTY_QUERY 구조를 구성합니다.

  • STORAGE_PROPERTY_QUERYSTORAGE_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
머리글 winioctl.h(Windows.h 포함)

추가 정보

IOCTL_STORAGE_QUERY_PROPERTY

STORAGE_PROPERTY_QUERY

STORAGE_PROTOCOL_SPECIFIC_DATA