Bagikan melalui


struktur IDE_DEVICE_PARAMETERS (irb.h)

Struktur IDE_DEVICE_PARAMETERS berisi informasi konfigurasi yang disediakan driver port ke driver miniport untuk mengonfigurasi perangkat.

Catatan Driver port ATA dan model driver miniport ATA dapat diubah atau tidak tersedia di masa depan. Sebagai gantinya, sebaiknya gunakan driver Storport dan model driver miniport Storport .
 

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)

Lihat juga

ATA_ADDRESS_TRANSLATION

IDE_DEVICE_TYPE

IdeHwInitialize