Fungsi StorPortGetDeviceBase (storport.h)

Rutinitas StorPortGetDeviceBase memetakan alamat I/O ke ruang alamat sistem.

Sintaks

STORPORT_API PVOID StorPortGetDeviceBase(
  [in] PVOID                 HwDeviceExtension,
  [in] INTERFACE_TYPE        BusType,
  [in] ULONG                 SystemIoBusNumber,
  [in] STOR_PHYSICAL_ADDRESS IoAddress,
  [in] ULONG                 NumberOfBytes,
  [in] BOOLEAN               InIoSpace
);

Parameter

[in] HwDeviceExtension

Penunjuk ke ekstensi perangkat keras. Ini adalah area penyimpanan per HBA yang dialokasikan dan diinisialisasi driver port atas nama driver miniport. Driver miniport biasanya menyimpan informasi khusus HBA dalam ekstensi ini, seperti status HBA dan rentang akses yang dipetakan untuk HBA. Area ini tersedia untuk driver miniport segera setelah driver miniport memanggil StorPortInitialize. Driver port membebaskan memori ini ketika melepas perangkat.

[in] BusType

Menentukan jenis antarmuka bus I/O tempat HBA terhubung. Rutinitas HwStorFindAdapter driver miniport mendapatkan nilai untuk parameter ini dari anggota AdapterInterfaceType dari PORT_CONFIGURATION_INFORMATION input.

[in] SystemIoBusNumber

Menentukan nomor bus I/O yang ditetapkan sistem tempat HBA terhubung. Rutinitas HwStorFindAdapter mendapatkan nilai untuk parameter ini dari anggota SystemIoBusNumber dari PORT_CONFIGURATION_INFORMATION input.

[in] IoAddress

Menentukan alamat dasar relatif bus dari rentang yang digunakan oleh HBA. Rutinitas HwStorFindAdapter mendapatkan nilai untuk parameter ini dari salah satu elemen AccessRanges di PORT_CONFIGURATION_INFORMATION jika driver port menyediakan informasi konfigurasi rentang. Jika tidak, alamat ini dapat menjadi nilai yang dikembalikan oleh StorPortGetBusData atau nilai default yang disediakan driver miniport. Hindari menggunakan alamat dasar nol karena status pengembalian yang berhasil dapat bertentangan dengan status kesalahan (NULL).

[in] NumberOfBytes

Menentukan ukuran dalam byte rentang yang harus dicakup pemetaan. Rutinitas HwStorFindAdapter mendapatkan nilai parameter ini dari elemen AccessRanges yang sama dengan IoAddress jika driver port memasok informasi konfigurasi rentang. Jika tidak, nilai ini dapat dikembalikan oleh StorPortGetBusData atau default yang disediakan driver miniport. Bagaimanapun, driver tidak boleh mengakses perangkat keras di luar rentang yang dikembalikan dan dipetakan.

[in] InIoSpace

TRUE menunjukkan rentang yang akan dipetakan berada di ruang I/O, dan driver miniport akan meneruskan alamat yang dipetakan dalam rentang ini ke rutinitas baca/tulis port Storport untuk berkomunikasi dengan HBA. Rutinitas HwStorFindAdapter mendapatkan nilai parameter ini dari elemen AccessRanges yang sama dengan IoAddress. Perhatikan bahwa driver miniport harus membalikkan nilai anggota InMemorySpace dalam elemen jenis ACCESS_RANGE sebelum diteruskan ke StorPortGetDeviceBase sebagai argumen InIoSpace . FALSE menunjukkan bahwa rentang yang akan dipetakan berada di ruang memori.

Mengembalikan nilai

Alamat dasar logis yang dipetakan sesuai dengan alamat relatif bus yang disediakan dalam parameter IoAddress .

Keterangan

Setiap driver miniport harus melewati alamat rentang akses logis yang dipetakan ke rutinitas baca/tulis port Storport dan rutinitas baca/tulis register Storport saat berkomunikasi dengan HBA-nya.

Rutinitas ini hanya mendukung alamat yang ditetapkan ke driver oleh manajer Plug and Play sistem (PnP).

Persyaratan

   
Target Platform Universal
Header storport.h (termasuk Storport.h)
Pustaka Storport.lib

Lihat juga

StorPortFreeDeviceBase