Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die MmMapIoSpace Routine ordnet den angegebenen physischen Adressbereich nicht seitenseitigem Systembereich zu.
Syntax
PVOID MmMapIoSpace(
[in] PHYSICAL_ADDRESS PhysicalAddress,
[in] SIZE_T NumberOfBytes,
[in] MEMORY_CACHING_TYPE CacheType
);
Parameter
[in] PhysicalAddress
Gibt die Startadresse des E/A-Bereichs an, der zugeordnet werden soll.
[in] NumberOfBytes
Gibt einen Wert an, der größer als 0 ist und die Anzahl der Bytes angibt, die zugeordnet werden sollen.
[in] CacheType
Gibt einen MEMORY_CACHING_TYPE Wert an, der das Cache-Attribut angibt, das zum Zuordnen des physischen Adressbereichs verwendet werden soll.
Rückgabewert
MmMapIoSpace- gibt die virtuelle Basisadresse zurück, die die physische Basisadresse für den Bereich zuordnet. Wenn der Speicherplatz für die Zuordnung des Bereichs nicht ausreicht, wird NULL-zurückgegeben.
Bemerkungen
Ein Treiber muss diese Routine während des Gerätestarts aufrufen, wenn er übersetzte Ressourcen vom Typ CmResourceTypeMemory in einer CM_PARTIAL_RESOURCE_DESCRIPTOR-Struktur empfängt. MmMapIoSpace die in der Ressourcenliste zurückgegebene physische Adresse einer logischen Adresse zuordnet, über die der Treiber auf Geräteregister zugreifen kann.
MmMapIoSpace- sollte nur mit Seiten verwendet werden, die gesperrt sind (gehören zu den gesperrten Seiten eines MDL- oder E/A-Speicherplatzes), andernfalls könnte der Besitzer des Speichers ihn freigeben (oder der Speicher könnte ein-/ausgelagert werden usw.).
Beispielsweise können Treiber von PIO-Geräten, die langfristige E/A-Puffer zuweisen, diese Routine aufrufen, um solche Puffer zugänglich zu machen oder den Gerätespeicher barrierefrei zu machen.
Weitere Informationen zur Verwendung dieser Routine finden Sie unter Zuordnung Bus-Relative Adressen zu virtuellen Adressen.
Anforderungen
| Anforderung | Wert |
|---|---|
| Zielplattform- | Universal |
| Header- | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
| Library | NtosKrnl.lib |
| DLL- | NtosKrnl.exe |
| IRQL- | IRQL-<=DISPATCH_LEVEL |