struktur IDE_DEVICE_PARAMETERS (irb.h)
Struktur IDE_DEVICE_PARAMETERS berisi informasi konfigurasi yang disediakan driver port ke driver miniport untuk mengonfigurasi perangkat.
Sintaks
typedef struct _IDE_DEVICE_PARAMETERS {
USHORT Version;
IDE_DEVICE_TYPE IdeDeviceType;
UCHAR TargetId;
UCHAR MaximumLun;
UCHAR NumberOfOverlappedRequests;
UCHAR MaxBlockXfer;
USHORT DeviceCharacteristics;
ATA_ADDRESS_TRANSLATION AddressTranslation;
union {
LARGE_INTEGER MaxLba;
struct {
USHORT NumCylinders;
USHORT NumHeads;
USHORT NumSectorsPerTrack;
USHORT Reserved;
} Chs;
};
ULONG BytesPerLogicalSector;
ULONG BytesPerPhysicalSector;
ULONG BytesOffsetForSectorAlignment;
ULONG TransferModeSupported;
ULONG TransferModeSelected;
} IDE_DEVICE_PARAMETERS, *PIDE_DEVICE_PARAMETERS;
Anggota
Version
Menunjukkan ukuran struktur parameter Perangkat . Driver miniport harus memverifikasi bahwa sizeof(IDE_DEVICE_PARAMETERS) kurang dari atau sama dengan bidang Versi .
IdeDeviceType
Menunjukkan jenis perangkat. Jenis perangkat yang diizinkan adalah DeviceIsAta untuk perangkat ATA, DeviceIsAtapi untuk perangkat ATAPI , dan DeviceNotExist jika tidak ada perangkat yang ditemukan di alamat tersebut. Bidang lain dalam struktur ini tidak valid jika IdeDeviceType diatur ke DeviceNotExist.
TargetId
Menentukan ID target perangkat.
MaximumLun
Driver miniport harus memperbarui bidang ini untuk menunjukkan nomor unit logis maksimum yang didukung oleh perangkat ini. Secara default, anggota diatur ke 0 yang menunjukkan keberadaan hanya satu LUN.
NumberOfOverlappedRequests
Driver miniport harus memperbarui bidang ini untuk menentukan jumlah permintaan tumpang tindih yang dapat ditanganinya untuk perangkat ini. Secara default, anggota diatur ke 1.
MaxBlockXfer
Menentukan jumlah sektor dalam blok data yang akan ditransfer. Nilai ini berlaku untuk blok data yang digunakan dalam perintah transfer blok ATA seperti Read Multiple (0xC4), Write Multiple (0xC5). Untuk informasi selengkapnya tentang perintah ReadMultiple dan WriteMultiple, lihat Spesifikasi ATA.
DeviceCharacteristics
Menentukan karakteristik perangkat. Tabel di bawah ini mencantumkan karakteristik yang dapat diatur dalam anggota ini. Byte tinggi anggota ini buram dan tidak boleh diubah oleh miniport ATA.
Karakteristik Perangkat | Deskripsi |
---|---|
DFLAGS_REMOVABLE_MEDIA | Menunjukkan bahwa drive memiliki media yang dapat dilepas |
DFLAGS_ REMOVABLE_DEVICE | Menunjukkan bahwa perangkat dapat dilepas dengan aman |
DFLAGS_FUA_SUPPORT | Menunjukkan bahwa perangkat mendukung FUA (Force Unit Access) |
DFLAGS_INT_DRQ | Menunjukkan bahwa perangkat mengganggu saat DRQ diatur setelah menerima perintah Paket ATAPI |
DFLAGS_MSN_SUPPORT | Menunjukkan bahwa perangkat mendukung Pemberitahuan Status Media. |
AddressTranslation
Berisi nilai enumerasi jenis ATA_ADDRESS_TRANSLATION yang menentukan jenis terjemahan alamat yang digunakan selama transfer data.
MaxLba
Menentukan alamat blok logis maksimum yang dapat diatasi pengguna (LBA). Anggota ini didefinisikan ketika AddressTranslation sama dengan LbaMode atau Lba48BitMode.
Chs
Menentukan geometri drive dengan nilai untuk jumlah silinder, kepala per silinder, dan sektor per trek. Anggota ini ditentukan ketika AddressTranslation sama dengan ChsMode.
Chs.NumCylinders
Chs.NumHeads
Chs.NumSectorsPerTrack
Chs.Reserved
BytesPerLogicalSector
Anggota ini menentukan jumlah byte per sektor logis (LBA) untuk perangkat tertentu.
BytesPerPhysicalSector
Anggota ini menentukan jumlah byte per sektor fisik (yaitu, jumlah data terkecil yang dapat ditulis perangkat secara fisik) untuk perangkat yang diberikan.
BytesOffsetForSectorAlignment
Anggota ini menentukan lokasi sektor 0 dalam sektor fisik pertama seperti yang didefinisikan dalam spesifikasi ATA yang diwakili dalam byte.
TransferModeSupported
Berisi bitmap yang menunjukkan mode transfer yang didukung.
TransferModeSelected
Menunjukkan mode transfer yang dipilih pada perangkat. Driver miniport harus mengatur anggota ini.
Keterangan
Driver port meneruskan struktur IDE_DEVICE_PARAMETERS ke driver miniport ketika memanggil IdeHwInitialize.
Persyaratan
Persyaratan | Nilai |
---|---|
Header | irb.h (termasuk Irb.h) |