struktur STORAGE_ADAPTER_DESCRIPTOR (ntddstor.h)
Struktur STORAGE_ADAPTER_DESCRIPTOR digunakan bersama dengan permintaan IOCTL_STORAGE_QUERY_PROPERTY untuk mengambil data deskriptor adaptor penyimpanan untuk perangkat.
Sintaks
typedef struct _STORAGE_ADAPTER_DESCRIPTOR {
ULONG Version;
ULONG Size;
ULONG MaximumTransferLength;
ULONG MaximumPhysicalPages;
ULONG AlignmentMask;
BOOLEAN AdapterUsesPio;
BOOLEAN AdapterScansDown;
BOOLEAN CommandQueueing;
BOOLEAN AcceleratedTransfer;
#if ...
BOOLEAN BusType;
#else
UCHAR BusType;
#endif
USHORT BusMajorVersion;
USHORT BusMinorVersion;
UCHAR SrbType;
UCHAR AddressType;
} STORAGE_ADAPTER_DESCRIPTOR, *PSTORAGE_ADAPTER_DESCRIPTOR;
Anggota
Version
Berisi versi struktur STORAGE_ADAPTER_DESCRIPTOR. Nilai anggota ini akan berubah saat anggota ditambahkan ke struktur.
Size
Menentukan ukuran total deskriptor, dalam byte.
MaximumTransferLength
Menentukan jumlah maksimum byte yang dapat ditransfer oleh adaptor bus host (HBA) dalam satu operasi.
MaximumPhysicalPages
Menentukan jumlah maksimum halaman fisik yang dihentikan yang dapat dikelola HBA dalam satu transfer (dengan kata lain, sejauh dukungannya menyebar/mengumpulkan).
AlignmentMask
Menentukan persyaratan penyelarasan HBA untuk transfer. Driver kelas penyimpanan mengatur bidang AlignmentRequirement di objek perangkatnya ke nilai ini. Masker perataan menunjukkan pembatasan perataan untuk buffer yang diperlukan oleh HBA untuk operasi transfer. Nilai masker yang valid adalah 0 (byte aligned), 1 (word aligned), 3 (DWORD aligned), dan 7 (double DWORD aligned).
AdapterUsesPio
Menunjukkan kapan TRUE bahwa HBA menggunakan Input/Output Terprogram (PIO) dan memerlukan penggunaan alamat virtual ruang sistem yang dipetakan ke memori fisik untuk buffer data. Ketika FALSE, HBA tidak menggunakan PIO.
AdapterScansDown
Menunjukkan ketika TRUE bahwa HBA memindai perangkat BIOS, yaitu, HBA mulai memindai dengan nomor perangkat tertinggi daripada yang terendah. Ketika FALSE, HBA mulai memindai dengan nomor perangkat terendah. Anggota ini dicadangkan untuk driver miniport warisan.
CommandQueueing
Menunjukkan kapan TRUE bahwa HBA mendukung antrean bertag SCSI dan/atau antrean internal per unit logis, atau yang setara dengan non-SCSI. Ketika FALSE, HBA tidak mendukung antrean bertag SCSI atau antrean internal per unit logis.
AcceleratedTransfer
Menunjukkan kapan TRUE bahwa HBA mendukung transfer sinkron sebagai cara mempercepat I/O. Ketika FALSE, HBA tidak mendukung transfer sinkron sebagai cara mempercepat I/O.
BusType
Menentukan nilai jenis STORAGE_BUS_TYPE yang menunjukkan jenis bus yang tersambung dengan perangkat.
BusMajorVersion
Menentukan nomor versi utama, jika ada, dari HBA.
BusMinorVersion
Menentukan nomor versi minor, jika ada, dari HBA.
SrbType
Menentukan jenis blok permintaan SCSI (SRB) yang digunakan oleh HBA. Anggota ini valid dimulai dengan Windows 8.
Nilai | Makna |
---|---|
SRB_TYPE_SCSI_REQUEST_BLOCK | HBA menggunakan blok permintaan SCSI. |
SRB_TYPE_STORAGE_REQUEST_BLOCK | HBA menggunakan blok permintaan SCSI yang diperluas. |
AddressType
Menentukan jenis alamat HBA. Anggota ini valid dimulai dengan Windows 8.
Nilai | Makna |
---|---|
STORAGE_ADDRESS_TYPE_BTL8 | HBA menggunakan bus 8-bit, target, dan alamat LUN. |
Keterangan
Driver kelas penyimpanan mengeluarkan permintaan kontrol perangkat dengan kode kontrol I/O IOCTL_STORAGE_QUERY_PROPERTY untuk mengambil struktur ini, yang berisi informasi konfigurasi dari HBA untuk operasi transfer data. Struktur dapat diambil baik dari objek perangkat untuk bus atau dari objek perangkat fungsional (FDO), yang meneruskan permintaan ke bus yang mendasar.
Jika kesalahan protokol yang berlebihan terjadi pada HBA yang mendukung transfer sinkron (AcceleratedTransfer adalah TRUE), driver kelas penyimpanan dapat menonaktifkan transfer sinkron dengan mengatur SRB_FLAGS_DISABLE_SYNCH_TRANSFER di SRB.
Persyaratan
Persyaratan | Nilai |
---|---|
Header | ntddstor.h (termasuk Ntddstor.h) |