Fungsi WdfDeviceMapIoSpace (wdfdevice.h)
[Hanya berlaku untuk UMDF]
Fungsi WdfDeviceMapIoSpace memetakan rentang alamat fisik yang diberikan ke ruang alamat sistem dan mengembalikan alamat dasar pseudo.
Sintaks
NTSTATUS WdfDeviceMapIoSpace(
[in] WDFDEVICE Device,
[in] PHYSICAL_ADDRESS PhysicalAddress,
[in] SIZE_T NumberOfBytes,
[in] MEMORY_CACHING_TYPE CacheType,
[out] PVOID *PseudoBaseAddress
);
Parameter
[in] Device
Handel ke objek perangkat kerangka kerja.
[in] PhysicalAddress
Menentukan alamat fisik awal 64-bit dari rentang I/O yang akan dipetakan.
[in] NumberOfBytes
Menentukan nilai yang lebih besar dari nol, menunjukkan jumlah byte yang akan dipetakan.
[in] CacheType
Menentukan nilai MEMORY_CACHING_TYPE , yang menunjukkan atribut cache yang akan digunakan untuk memetakan rentang alamat fisik. Jenis enumerasi MEMORY_CACHING_TYPE didefinisikan dalam Wdfdevice.h.
[out] PseudoBaseAddress
Alamat lokasi yang menerima penunjuk ke alamat dasar pseudo.
Mengembalikan nilai
Jika operasi berhasil, fungsi akan mengembalikan STATUS_SUCCESS.
Fungsi ini mungkin mengembalikan nilai NTSTATUS lainnya.
Keterangan
Fungsi ini adalah UMDF versi 2 yang setara dengan IWDFDevice3::MapIoSpace.
Driver harus memanggil fungsi ini selama start-up perangkat jika menerima sumber daya yang diterjemahkan dari jenis CmResourceTypeMemory dalam struktur CM_PARTIAL_RESOURCE_DESCRIPTOR . WdfDeviceMapIoSpace memetakan alamat fisik yang dikembalikan dalam daftar sumber daya ke alamat yang dikelola kerangka kerja yang disebut sebagai alamat dasar pseudo.
Driver kemudian dapat menggunakan alamat dasar pseudo untuk mengakses register perangkat dengan fungsi WDF_READ_REGISTER_Xxx dan WDF_WRITE_REGISTER_Xxx .
Driver yang memanggil WdfDeviceMapIoSpace harus mengatur arahan INF UmdfDirectHardwareAccess ke AllowDirectHardwareAccess.
Jika driver mengatur arahan INF UmdfRegisterAccessMode ke RegisterAccessUsingUserModeMapping, memanggil WdfDeviceMapIoSpace juga memetakan rentang alamat fisik yang diberikan ke rentang alamat dasar mode pengguna yang kemudian dapat diakses driver dengan memanggil WdfDeviceGetHardwareRegisterMappedAddress.
Untuk informasi selengkapnya tentang arahan INF yang dapat digunakan driver UMDF, lihat Menentukan Arahan WDF dalam File INF.
Untuk informasi selengkapnya tentang penguraian sumber daya perangkat keras mulai dari UMDF versi 2, lihat Menangani Sumber Daya Perangkat Keras di Driver UMDF.
Jenis PHYSICAL_ADDRESS didefinisikan dalam Wudfwdm.h, sebagai berikut:
typedef LARGE_INTEGER PHYSICAL_ADDRESS;
Untuk contoh yang menunjukkan bagaimana driver menemukan dan memetakan sumber daya register yang dipetakan memori, lihat Membaca dan Menulis ke Daftar Perangkat.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 8.1 |
Target Platform | Universal |
Versi UMDF minimum | 2.0 |
Header | wdfdevice.h (termasuk Wdf.h) |
Pustaka | WUDFx02000.lib |
DLL | WUDFx02000.dll |
IRQL | PASSIVE_LEVEL |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk