as_lw_det64 -Kernel-Service
Zweck
Hebt die Zuordnung einer Region im aktuellen Benutzeradressraum auf und hebt die Zuordnung einer Region auf, die mit dem as_lw_att64 -Kernel-Service zugeordnet wurde.
Syntax
#include <sys/errno.h>
#include <sys/adspace.h>
#include <sys/xmem.h>
int as_lw_det64 (dp, addr, length)
xmem* dp;
void* addr;
size_t length;Parameter
| Element | Beschreibung |
|---|---|
| dp | Der speicherübergreifende Deskriptor, der den angehängten virtuellen Speicher beschreibt. |
| addr | Gibt die erste effektive Adresse der Region an, die freigegeben werden soll. |
| Länge | Gibt die Länge der Region an, die freigegeben werden soll. |
Beschreibung
Der as_lw_det64 -Kernel-Service hebt die Zuordnung des virtuellen Speichers zu der Region ab der mit dem Parameter Adresse angegebenen effektiven Adresse auf. Dieser Service (und nur dieser Service) muss verwendet werden, um die Zuordnung von Regionen aufzuheben, die vom as_lw_att64 -Kernelservice zugeordnet wurden. Sie muss von demselben Thread aufgerufen werden wie der as_lw_att64 -Kernel-Service. Der Parameter Adresse muss der Wert sein, der vom as_lw_att64 -Kernel-Service zurückgegeben wird, und der Parameter DP und der Parameter Länge müssen mit DP und Länge übereinstimmen, die an ihn übergeben werden. Der Kernel-Service xmdetach (Zuordnung aufheben) darf nicht aufgerufen werden, um den Parameter DP freizugeben, bis alle ausstehenden Verbindungen des Parameters DP , die den Kernel-Service as_lw_att64 verwenden, mit dem Kernel-Service as_lw_det64 freigegeben wurden.
Der Kernel-Service as_lw_det64 kann nicht verwendet werden, um die Zuordnung einer Region aufzuheben, die nicht vom Kernel-Service as_lw_att64 zugeordnet wurde.
Der as_lw_det64 -Kernel-Service funktioniert nur für 64-Bit-Benutzeradressräume ordnungsgemäß. Es funktioniert nicht für Kernelprozesse (kprocs).
Ausführungsumgebung
Der as_lw_det64 -Kernel-Service kann nur aus der Prozessumgebung aufgerufen werden.
Rückgabewerte
| Element | Beschreibung |
|---|---|
| 0 | Die Zuordnung der Region wurde erfolgreich aufgehoben und die Zuordnung aufgehoben. |
| EINVAL | Es wurde versucht, die Zuordnung einer Region aufzuheben, die nicht freigegeben werden sollte. |
| ENOSYS | Der Service wurde von einem 32-Bit-Prozess aufgerufen. |
| ENOMEM | Diesem Thread sind keine schlanken Ressourcen zugeordnet. |
| EIO | Zeigt einen Fehler des Lightweight-Subsystems an. Der Prozess sollte die Verwendung der Lightweight-Kernel-Services einstellen. |
| EPERM | Wird von einem Benutzerthread aufgerufen, der nicht 1: 1 mit einem Kernel-Thread ist. |
Implementierungsspezifikationen
Der as_lw_det64 -Kernel-Service ist Teil von Base Operating System (BOS) Runtime.