Bagikan melalui


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.

Sintaksis

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 64-bit awal 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.

Komentar

Fungsi ini adalah UMDF versi 2 yang setara dengan IWDFDevice3::MapIoSpace.

Driver harus memanggil fungsi ini selama start-up perangkat jika menerima sumber daya terjemahan 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 WDF_READ_REGISTER_Xxx dan WDF_WRITE_REGISTER_fungsi Xxx.

Driver yang memanggil WdfDeviceMapIoSpace harus mengatur direktif INF UmdfDirectHardwareAccess ke AllowDirectHardwareAccess.

Jika driver mengatur UmdfRegisterAccessMode arahan INF 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

Syarat Nilai
klien minimum yang didukung Windows 8.1
Platform Target Universal
versi UMDF Minimum 2.0
Header wdfdevice.h (termasuk Wdf.h)
Pustaka WUDFx02000.lib
DLL WUDFx02000.dll
IRQL PASSIVE_LEVEL

Lihat juga

IWDFDevice3::MapIoSpace

WdfDeviceUnmapIoSpace