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.
The WriteUInt32ToUser function safely writes a UINT32 value to user-mode memory.
Syntax
VOID WriteUInt32ToUser(
volatile UINT32 *Destination,
UINT32 Value
);
Parameters
Destination
[out] Ein Zeiger auf den Speicherort des Benutzermodus, an dem der UINT32-Wert geschrieben wird.
Value
[in] Der UINT32-Wert, der in den Zielspeicherort geschrieben werden soll.
Return value
None
Remarks
Diese Funktion bietet eine sichere Möglichkeit, einen UINT32-Wert in den Arbeitsspeicher des Benutzermodus zu schreiben. Sie stellt sicher, dass es sich bei der angegebenen Adresse um eine Benutzermodusadresse handelt, bevor Sie sie schreiben.
Diese Funktion erzwingt keine Ausrichtung.
Es löst eine strukturierte Ausnahme aus, wenn der Speicherzugriff fehlschlägt, z. B. wenn die Zieladresse keine Benutzermodusadresse ist oder nicht darauf zugegriffen werden kann.
Diese Funktion wird niemals vom Compiler optimiert, oder der Compiler erstellt zusätzlichen Zugriff auf diesen Speicherspeicherort, bevor die Funktion aufgerufen wird oder nachdem die Funktion zurückgegeben wird (es sei denn, der Quellcode führt diese Zugriffe explizit aus). The memory access is performed with memory_order_relaxed semantics.
Diese Funktion funktioniert auf allen Versionen von Windows, nicht nur auf dem neuesten. You need to consume the latest WDK to get the function declaration from the usermode_accessors.h header. You also need the library (umaccess.lib) from the latest WDK. Der resultierende Treiber wird jedoch in älteren Versionen von Windows einwandfrei ausgeführt.
Requirements
| Requirement | Value |
|---|---|
| Mindestens unterstützter Client | See Remarks |
| Header | usermode_accessors.h |
| Library | umaccess.lib |
| IRQL | Kleiner oder gleich APC_LEVEL |