다음을 통해 공유


STORAGE_PROTOCOL_SPECIFIC_DATA 구조체(winioctl.h)

IOCTL_STORAGE_QUERY_PROPERTY 요청의 입력 및 출력 버퍼에 제공되는 프로토콜별 디바이스 데이터를 설명합니다.

구문

typedef struct _STORAGE_PROTOCOL_SPECIFIC_DATA {
  STORAGE_PROTOCOL_TYPE ProtocolType;
  DWORD                 DataType;
  DWORD                 ProtocolDataRequestValue;
  DWORD                 ProtocolDataRequestSubValue;
  DWORD                 ProtocolDataOffset;
  DWORD                 ProtocolDataLength;
  DWORD                 FixedProtocolReturnData;
  DWORD                 ProtocolDataRequestSubValue2;
  DWORD                 ProtocolDataRequestSubValue3;
  DWORD                 ProtocolDataRequestSubValue4;
} STORAGE_PROTOCOL_SPECIFIC_DATA, *PSTORAGE_PROTOCOL_SPECIFIC_DATA;

멤버

ProtocolType

프로토콜 유형입니다. 이 멤버의 값은 STORAGE_PROTOCOL_TYPE 열거형에 정의됩니다.

DataType

프로토콜 데이터 형식입니다. 데이터 형식은 STORAGE_PROTOCOL_NVME_DATA_TYPESTORAGE_PROTOCOL_ATA_DATA_TYPE 열거형에 정의됩니다.

ProtocolDataRequestValue

프로토콜 데이터 요청 값입니다.

ProtocolDataRequestSubValue

프로토콜 데이터 요청의 하위 값입니다.

ProtocolDataOffset

이 구조체의 시작 부분에 있는 데이터 버퍼의 오프셋입니다. 일반적인 값은 sizeof(STORAGE_PROTOCOL_SPECIFIC_DATA)일 수 있습니다.

ProtocolDataLength

프로토콜 데이터의 길이입니다.

FixedProtocolReturnData

반환된 데이터입니다.

ProtocolDataRequestSubValue2

ProtocolDataRequestSubValue3

ProtocolDataRequestSubValue4

설명

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