Bagikan melalui


struktur STORAGE_PROTOCOL_SPECIFIC_DATA (winioctl.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;
  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;

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.

FixedProtocolReturnData

Data yang dikembalikan.

ProtocolDataRequestSubValue2

ProtocolDataRequestSubValue3

ProtocolDataRequestSubValue4

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:
    • Gunakan NVMeDataTypeIdentify untuk mendapatkan data Identifi Controller atau Mengidentifikasi data Namespace.
    • Gunakan NVMeDataTypeLogPage untuk mendapatkan halaman log (termasuk data SMART/health).
    • Gunakan 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

   
Klien minimum yang didukung Windows 10
Server minimum yang didukung Server Windows 2016
Header winioctl.h (termasuk Windows.h)

Lihat juga

IOCTL_STORAGE_QUERY_PROPERTY

STORAGE_PROPERTY_QUERY