struktur STORAGE_PROTOCOL_SPECIFIC_DATA (ntddstor.h)

Menjelaskan data perangkat khusus protokol, yang disediakan dalam buffer input dan output permintaan IOCTL_STORAGE_QUERY_PROPERTY .

Sintaks

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;

Anggota

ProtocolType

Jenis protokol. Nilai untuk anggota ini ditentukan dalam enumerasi STORAGE_PROTOCOL_TYPE .

DataType

Jenis data protokol. Jenis data ditentukan dalam enumerasi STORAGE_PROTOCOL_NVME_DATA_TYPE dan STORAGE_PROTOCOL_ATA_DATA_TYPE .

ProtocolDataRequestValue

Nilai permintaan data protokol.

ProtocolDataRequestSubValue

Sub nilai permintaan data protokol.

ProtocolDataOffset

Offset buffer data yang berasal dari awal struktur ini. Nilai umumnya bisa ukuranof(STORAGE_PROTOCOL_SPECIFIC_DATA).

ProtocolDataLength

Panjang data protokol. ProtocolDataLength harus >= 512 byte.

FixedProtocolReturnData

Data yang dikembalikan.

ProtocolDataRequestSubValue2

Pertama nilai sub permintaan data tambahan.

ProtocolDataRequestSubValue3

Nilai sub permintaan data tambahan kedua.

ProtocolDataRequestSubValue4

Nilai sub permintaan data tambahan ketiga.

Keterangan

Saat menggunakan IOCTL_STORAGE_QUERY_PROPERTY untuk mengambil informasi khusus protokol di STORAGE_PROTOCOL_DATA_DESCRIPTOR, konfigurasikan struktur STORAGE_PROPERTY_QUERY sebagai berikut:

  • Alokasikan buffer yang dapat berisi struktur STORAGE_PROPERTY_QUERY dan STORAGE_PROTOCOL_SPECIFIC_DATA .
  • Atur bidang PropertyID ke StorageAdapterProtocolSpecificProperty atau StorageDeviceProtocolSpecificProperty untuk permintaan pengontrol atau perangkat/namespace.
  • Atur bidang QueryType ke PropertyStandardQuery.
  • Isi struktur STORAGE_PROTOCOL_SPECIFIC_DATA dengan nilai yang diinginkan. Awal STORAGE_PROTOCOL_SPECIFIC_DATA adalah bidang AdditionalParametersdari STORAGE_PROPERTY_QUERY.

Untuk menentukan jenis informasi khusus protokol NVMe, konfigurasikan struktur STORAGE_PROTOCOL_SPECIFIC_DATA sebagai berikut:

  • Atur bidang ProtocolType ke ProtocolTypeNVMe.
  • Atur bidang DataType ke nilai enumerasi yang ditentukan oleh STORAGE_PROTOCOL_NVME_DATA_TYPE:
    • NVMeDataTypeIdentify untuk mendapatkan data Identifi Controller atau Mengidentifikasi data Namespace.
    • NVMeDataTypeLogPage untuk mendapatkan halaman log (termasuk data SMART/kesehatan).
    • NVMeDataTypeFeature untuk mendapatkan fitur drive NVMe.

Untuk menentukan jenis informasi khusus protokol ATA, konfigurasikan struktur STORAGE_PROTOCOL_SPECIFIC_DATA sebagai berikut:

  • Atur bidang ProtocolType ke ProtocolTypeAta.
  • Atur bidang DataType ke nilai enumerasi yang ditentukan oleh STORAGE_PROTOCOL_ATA_DATA_TYPE:
    • Gunakan AtaDataTypeIdentify untuk mengidentifikasi drive ATA.
    • Gunakan AtaDataTypeLogPage untuk mendapatkan halaman log dari drive ATA.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 10
Server minimum yang didukung Server Windows 2016
Header ntddstor.h (termasuk Ntddstor.h)

Lihat juga

IOCTL_STORAGE_QUERY_PROPERTY

STORAGE_PROPERTY_ID

STORAGE_PROPERTY_QUERY

STORAGE_PROTOCOL_SPECIFIC_DATA_EXT