다음을 통해 공유


STORAGE_PROTOCOL_SPECIFIC_DATA 구조체(ntddstor.h)

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

통사론

typedef struct _STORAGE_PROTOCOL_SPECIFIC_DATA {
  STORAGE_PROTOCOL_TYPE ProtocolType;
  ULONG                 DataType;
  ULONG                 ProtocolDataRequestValue;
  ULONG                 ProtocolDataRequestSubValue;
  ULONG                 ProtocolDataOffset;
  ULONG                 ProtocolDataLength;
  ULONG                 FixedProtocolReturnData;
  ULONG                 ProtocolDataRequestSubValue2;
  ULONG                 ProtocolDataRequestSubValue3;
  ULONG                 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

프로토콜 데이터의 길이입니다. ProtocolDataLength>= 512바이트여야 합니다.

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/health 데이터 포함)를 가져옵니다.
    • NVMe 드라이브의 기능을 얻으려면 NVMeDataTypeFeature .

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 포함)

참고 항목

IOCTL_STORAGE_QUERY_PROPERTY

STORAGE_PROPERTY_ID

STORAGE_PROPERTY_QUERY

STORAGE_PROTOCOL_SPECIFIC_DATA_EXT