struktur ACCESS_RANGE (storport.h)
ACCESS_RANGE menjelaskan memori atau rentang port I/O yang digunakan oleh HBA.
Sintaks
typedef struct _ACCESS_RANGE {
STOR_PHYSICAL_ADDRESS RangeStart;
ULONG RangeLength;
BOOLEAN RangeInMemory;
} ACCESS_RANGE, *PACCESS_RANGE;
Anggota
RangeStart
Berisi alamat fisik yang menentukan alamat dasar relatif bus dari rentang yang digunakan oleh HBA. Nilai anggota ini dapat diperoleh dari salah satu elemen AccessRanges dalam struktur PORT_CONFIGURATION_INFORMATION . Ini adalah alamat yang dapat diteruskan ke StorPortGetDeviceBase.
RangeLength
Menentukan ukuran, dalam byte, atau jumlah port dalam rentang. Driver miniport harus memastikan bahwa nilai ini cocok dengan rentang yang benar-benar didekodekan oleh adaptor. Misalnya, jika HBA menggunakan tujuh register tetapi merespons delapan, anggota ini harus diatur ke 8.
RangeInMemory
Menunjukkan rentang berada dalam memori saat TRUE, bukan di ruang I/O. Ketika FALSE, rentang berada dalam ruang I/O.
Keterangan
Setiap ACCESS_RANGE adalah elemen array AccessRanges dalam struktur PORT_CONFIGURATION_INFORMATION yang diteruskan ke rutinitas HwStorFindAdapter driver miniport.
Storport mengalokasikan memori untuk rentang akses dan menginisialisasi anggota AccessRanges . Rutinitas HwStorFindAdapter pengemudi miniport hanya boleh menggunakan alamat yang disediakan dan tidak boleh mencoba menemukan HBA lain di bus yang sama menggunakan alamat penyusunannya sendiri. Mencoba mengakses port atau rentang memori relatif bus lainnya ketika driver port telah menyediakan informasi rentang, terutama dalam sistem khusus x86 di mana beberapa perangkat diinisialisasi dalam mode nyata x86, dapat menyebabkan perangkat lain di bus gagal inisialisasi atau bahkan menyebabkan sistem gagal dalam proses boot.
Persyaratan
Persyaratan | Nilai |
---|---|
Header | storport.h (termasuk Srb.h, Storport.h, Strmini.h) |