Fungsi StorPortGetPhysicalAddress (storport.h)
Rutinitas StorPortGetPhysicalAddress mengonversi rentang alamat virtual tertentu ke rentang alamat fisik untuk operasi DMA.
Sintaks
STORPORT_API STOR_PHYSICAL_ADDRESS StorPortGetPhysicalAddress(
[in] PVOID HwDeviceExtension,
[in, optional] PSCSI_REQUEST_BLOCK Srb,
[in] PVOID VirtualAddress,
[out] ULONG *Length
);
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 di deviceExtension-HwDeviceExtension> anggota objek perangkat untuk HBA segera setelah driver miniport memanggil StorPortInitialize. Pengandar porta membebaskan memori ini ketika melepas perangkat.
[in, optional] Srb
Penunjuk ke blok permintaan SCSI jika alamat virtual yang akan dikonversi berasal dari anggota DataBuffer SRB atau anggota SenseInfoBuffer . Jika tidak, parameter ini harus NULL.
[in] VirtualAddress
Arahkan ke alamat virtual dasar yang akan dikonversi. Jika alamat virtual ini berada dalam rentang untuk DataBuffer yang disediakan SRB, pemanggil juga harus menyediakan penunjuk Srb .
[out] Length
Penunjuk ke nilai yang menunjukkan jumlah byte yang dipetakan, dimulai dari alamat fisik yang dikembalikan.
Nilai kembali
StorPortGetPhysicalAddress mengembalikan alamat fisik yang sesuai untuk alamat virtual tertentu. Jika alamat yang diberikan tidak dapat dikonversi, fungsi mengembalikan NULL.
Keterangan
Jika alamat virtual yang diteruskan ke StorPortGetPhysicalAddress diperoleh dari StorPortAllocateContiguousMemorySpecifyCacheNode, nilai yang dikembalikan untuk Panjang harus diabaikan.
Mulai dari Windows 8, parameter Srb dapat menunjuk ke SCSI_REQUEST_BLOCK atau STORAGE_REQUEST_BLOCK. Jika pengidentifikasi fungsi di bidang FungsiSrbSRB_FUNCTION_STORAGE_REQUEST_BLOCK, SRB adalah struktur permintaan STORAGE_REQUEST_BLOCK .
StorPortGetPhysicalAddress menggunakan STOR_PHYSICAL_ADDRESS untuk mewakili alamat fisik.
typedef PHYSICAL_ADDRESS STOR_PHYSICAL_ADDRESS, *PSTOR_PHYSICAL_ADDRESS;
Jenis STOR_PHYSICAL_ADDRESS adalah jenis data independen sistem operasi yang digunakan driver miniport Storport untuk mewakili alamat fisik atau alamat relatif bus.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Universal |
Header | storport.h (termasuk Storport.h) |
Pustaka | Storport.lib |