Speicherverwaltungsfunktionen

Allgemeine Speicherfunktionen

Funktion Beschreibung
AddSecureMemoryCacheCallback Registriert eine Rückruffunktion, die aufgerufen wird, wenn ein geschützter Speicherbereich freigegeben oder sein Schutz geändert wird.
CopyDeviceMemory Kopiert Speicher von einem Speicherort an einen anderen ohne Störungen von Compileroptimierungen in Situationen, in denen der Entwickler zusätzlich sicherstellen muss, dass beim Zugriff auf Gerätespeicher keine Ausrichtungsfehler erzeugt werden.
CopyMemory Kopiert einen Speicherblock von einem Speicherort an einen anderen.
CopyVolatileMemory Kopiert den Inhalt eines Quellspeicherblocks in einen Zielspeicherblock.
CreateMemoryResourceNotification Erstellt ein Benachrichtigungsobjekt für Arbeitsspeicherressourcen.
FillDeviceMemory Setzt den Inhalt eines Puffers ohne Störungen von Compileroptimierungen in Situationen, in denen der Entwickler zusätzlich sicherstellen muss, dass beim Zugriff auf Gerätespeicher keine Ausrichtungsfehler erzeugt werden.
FillMemory Füllt einen Speicherblock mit einem angegebenen Wert aus.
FillVolatileMemory Füllt einen Speicherblock mit dem angegebenen Füllwert.
GetLargePageMinimum Ruft die Mindestgröße einer großen Seite ab.
GetPhysicallyInstalledSystemMemory Ruft die Menge an Arbeitsspeicher ab, die physisch auf dem Computer installiert ist.
GetSystemFileCacheSize Ruft die aktuellen Größenbeschränkungen für den Arbeitssatz des Systemcaches ab.
GetWriteWatch Ruft die Adressen der Seiten ab, die in einen Bereich des virtuellen Arbeitsspeichers geschrieben wurden.
GlobalMemoryStatusEx Ruft Informationen zur aktuellen Verwendung des Systems sowohl für den physischen als den virtuellen Arbeitsspeicher ab.
MoveMemory Verschiebt einen Speicherblock von einem Speicherort an einen anderen.
MoveVolatileMemory Kopiert den Inhalt eines Quellspeicherblocks in einen Zielspeicherblock und unterstützt überlappende Quell- und Zielspeicherblöcke.
QueryMemoryResourceNotification Ruft den Zustand des angegebenen Arbeitsspeicherressourcenobjekts ab.
RemoveSecureMemoryCacheCallback Hebt die Registrierung einer Rückruffunktion auf, die zuvor bei der AddSecureMemoryCacheCallback-Funktion registriert war.
ResetWriteWatch Setzt den Schreibnachverfolgungsstatus für einen Bereich des virtuellen Arbeitsspeichers zurück.
SecureMemoryCacheCallback Diese anwendungsdefinierte Funktion wird aufgerufen, wenn ein geschützter Arbeitsspeicherbereich freigegeben oder sein Schutz geändert wird.
SecureZeroMemory Füllt einen Speicherblock mit Nullen auf.
SecureZeroMemory2 Füllt einen Speicherblock mit Nullen anhand einer Methode, die garantiert sicher ist.
SetSystemFileCacheSize Beschränkt die Größe des Arbeitssatzes für den Dateisystemcache.
ZeroDeviceMemory Setzt den Inhalt eines Puffers auf Nullen ohne Störungen von Compileroptimierungen in Situationen, in denen der Entwickler zusätzlich sicherstellen muss, dass beim Zugriff auf Gerätespeicher keine Ausrichtungsfehler erzeugt werden.
ZeroMemory Füllt einen Speicherblock mit Nullen auf.
ZeroVolatileMemory Füllt einen Speicherblock mit Nullen auf.

Funktionen zur Datenausführungsverhinderung

Diese Funktionen werden mit der Datenausführungsverhinderung (Data Execution Prevention, DEP) verwendet.

Funktion Beschreibung
GetProcessDEPPolicy Ruft die DEP-Einstellungen für einen Prozess ab.
GetSystemDEPPolicy Ruft die DEP-Einstellungen für das System ab.
SetProcessDEPPolicy Ändert die DEP-Einstellungen für einen Prozess.

Dateizuordnungsfunktionen

Diese Funktionen werden bei der Dateizuordnung verwendet.

Funktion Beschreibung
CreateFileMappingA Erstellt oder öffnet ein benanntes oder unbenanntes Dateizuordnungsobjekt für eine angegebene Datei.
CreateFileMappingW Erstellt oder öffnet ein benanntes oder unbenanntes Dateizuordnungsobjekt für eine angegebene Datei.
CreateFileMapping2 Erstellt oder öffnet ein benanntes oder unbenanntes Dateizuordnungsobjekt für eine angegebene Datei. Sie können einen bevorzugten NUMA-Knoten für den physischen Speicher als erweiterten Parameter angeben. Weitere Informationen finden Sie unter dem ExtendedParameters-Parameter.
CreateFileMappingFromApp Erstellt oder öffnet ein benanntes oder unbenanntes Dateizuordnungsobjekt für eine angegebene Datei aus einer Windows Store-App.
CreateFileMappingNuma Erstellt oder öffnet ein benanntes oder unbenanntes Dateizuordnungsobjekt für eine angegebene Datei und gibt den NUMA-Knoten für den physischen Speicher an.
FlushViewOfFile Schreibt einen Bytebereich auf den Datenträger in einer zugeordneten Ansicht einer Datei.
GetMappedFileName Überprüft, ob sich die angegebene Adresse innerhalb einer im Arbeitsspeicher zugeordneten Datei im Adressraum des angegebenen Prozesses befindet. Falls dies zutrifft, gibt die Funktion den Namen der im Arbeitsspeicher zugeordneten Datei zurück.
MapViewOfFile Ordnet eine Ansicht einer Dateizuordnung dem Adressraum eines aufrufenden Prozesses zu.
MapViewOfFile2 Ordnet eine Ansicht einer Datei oder eines durch eine Auslagerungsdatei geschützten Abschnitts dem Adressraum des angegebenen Prozesses zu.
MapViewOfFile3 Ordnet eine Ansicht einer Datei oder eines durch eine Auslagerungsdatei geschützten Abschnitts dem Adressraum des angegebenen Prozesses zu.
MapViewOfFile3FromApp Ordnet eine Ansicht einer Dateizuordnung dem Adressraum eines aufrufenden Prozesses einer Windows Store-App zu.
MapViewOfFileEx Ordnet eine Ansicht einer Dateizuordnung dem Adressraum eines aufrufenden Prozesses zu. Aufrufer*innen können optional eine vorgeschlagene Speicheradresse für die Ansicht angeben.
MapViewOfFileExNuma Ordnet eine Ansicht einer Dateizuordnung dem Adressraum eines aufrufenden Prozesses zu und gibt den NUMA-Knoten für den physischen Speicher an.
MapViewOfFileFromApp Ordnet eine Ansicht einer Dateizuordnung dem Adressraum eines aufrufenden Prozesses einer Windows Store-App zu.
MapViewOfFileNuma2 Ordnet eine Ansicht einer Datei oder eines durch eine Auslagerungsdatei geschützten Abschnitts dem Adressraum des angegebenen Prozesses zu.
OpenFileMapping Öffnet ein benanntes Dateizuordnungsobjekt.
OpenFileMappingFromApp Öffnet ein benanntes Dateizuordnungsobjekt.
UnmapViewOfFile Hebt die Zuordnung einer zugeordneten Ansicht einer Datei aus dem Adressraum des aufrufenden Prozesses auf.
UnmapViewOfFile2 Hebt die Zuordnung einer zuvor zugeordneten Ansicht einer Datei oder eines durch eine Auslagerungsdatei geschützten Abschnitts auf.
UnmapViewOfFileEx Hebt die Zuordnung einer zuvor zugeordneten Ansicht einer Datei oder eines durch eine Auslagerungsdatei geschützten Abschnitts auf.

AWE-Funktionen

Dies sind die AWE-Funktionen.

Funktion Beschreibung
AllocateUserPhysicalPages Ordnet Seiten im physischen Speicher zu, für die innerhalb eines AWE-Bereichs des Prozesses eine Zuordnung erfolgen oder aufgehoben werden soll.
AllocateUserPhysicalPagesNuma Ordnet Seiten im physischen Speicher zu, für die innerhalb eines AWE-Bereichs des Prozesses eine Zuordnung erfolgen oder aufgehoben werden soll, und gibt den NUMA-Knoten für den physischen Speicher an.
FreeUserPhysicalPages Gibt Seiten im physischen Speicher frei, die zuvor mit AllocateUserPhysicalPages zugeordnet wurden.
MapUserPhysicalPages Ordnet zuvor zugeordnete Seiten im physischen Speicher an der angegebenen Adresse in einer AWE-Region zu.
MapUserPhysicalPagesScatter Ordnet zuvor zugeordnete Seiten im physischen Speicher an der angegebenen Adresse in einer AWE-Region zu.

Heapfunktionen

Dies sind die Heapfunktionen.

Funktion Beschreibung
GetProcessHeap Ruft ein Handle für den Heap des aufrufenden Prozesses ab.
GetProcessHeaps Ruft Handles für alle Heaps ab, die für den anrufenden Prozess gültig sind.
HeapAlloc Ordnet einen Speicherblock aus einem Heap zu.
HeapCompact Fasst angrenzende freie Speicherblöcke in einem Heap zusammen.
HeapCreate Erstellt ein Heap-Objekt.
HeapDestroy Zerstört das angegebene Heap-Objekt.
HeapFree Gibt einen Speicherblock frei, der einem Heap zugeordnet ist.
HeapLock Versucht, die dem angegebenen Heap zugeordnete Sperre abzurufen.
HeapQueryInformation Ruft Informationen zum angegebenen Heap ab.
HeapReAlloc Ordnet einen Speicherblock aus einem Heap neu zu.
HeapSetInformation Legt Heapinformationen für den angegebenen Heap fest.
HeapSize Ruft die Größe eines Speicherblocks ab, der einem Heap zugeordnet ist.
HeapUnlock Gibt den Besitz der Sperre frei, die einem angegebenen Heap zugeordnet ist.
HeapValidate Versucht, einen angegebenen Heap zu überprüfen.
HeapWalk Listet die Speicherblöcke in einem angegebenen Heap auf.

Funktionen für den virtuellen Arbeitsspeicher

Dies sind die Funktionen für den virtuellen Arbeitsspeicher.

Funktion Beschreibung
DiscardVirtualMemory Verwirft den Speicherinhalt eines Bereichs von Seiten, ohne den Speicher zu entfernen. Der Inhalt des verworfenen Speichers ist nicht definiert und muss von der Anwendung neu geschrieben werden.
OfferVirtualMemory Gibt an, dass die in einem Bereich von Seiten enthaltenen Daten von der Anwendung nicht mehr benötigt werden und vom System ggf. verworfen werden können.
PrefetchVirtualMemory Ruft virtuelle Adressbereiche im physischen Speicher vorab ab.
QueryVirtualMemoryInformation Gibt Informationen zu einer oder mehreren Seiten innerhalb des virtuellen Adressraums des angegebenen Prozesses zurück.
ReclaimVirtualMemory Gibt mehrere Seiten zurück, die dem System mit OfferVirtualMemory angeboten wurden.
SetProcessValidCallTargets Stellt eine CFG-Datei mit einer Liste gültiger indirekter Anrufziele bereit und gibt an, ob diese als gültig gekennzeichnet werden sollen.
VirtualAlloc Reserviert oder committet einen Bereich von Seiten im virtuellen Adressraum des aufrufenden Prozesses.
VirtualAlloc2 Reserviert, committet oder ändert den Zustand eines Speicherbereichs im virtuellen Adressraum eines angegebenen Prozesses. Die Funktion initialisiert den zugeordneten Speicher mit null.
VirtualAlloc2FromApp Reserviert, committet oder ändert den Status eines Seitenbereichs im virtuellen Adressraum des aufrufenden Prozesses. Der von dieser Funktion zugeordnete Arbeitsspeicher wird automatisch mit null initialisiert.
VirtualAllocEx Reserviert oder committet einen Bereich von Seiten im virtuellen Adressraum des angegebenen Prozesses.
VirtualAllocExNuma Reserviert oder committet einen Bereich des Arbeitsspeichers im virtuellen Adressraum des angegebenen Prozesses und gibt den NUMA-Knoten für den physischen Speicher an.
VirtualAllocFromApp Reserviert, committet oder ändert den Status eines Seitenbereichs im virtuellen Adressraum des aufrufenden Prozesses. Der von dieser Funktion zugeordnete Arbeitsspeicher wird automatisch mit null initialisiert.
VirtualFree Gibt einen Bereich von Seiten im virtuellen Adressraum des aufrufenden Prozesses frei oder hebt dessen Commit auf.
VirtualFreeEx Gibt einen Speicherbereich im virtuellen Adressraum eines angegebenen Prozesses frei oder hebt dessen Commit auf.
VirtualLock Sperrt den angegebenen Bereich des virtuellen Adressraums des Prozesses im physischen Speicher.
VirtualProtect Ändert den Zugriffsschutz in einem Bereich committeter Seiten im virtuellen Adressraum des aufrufenden Prozesses.
VirtualProtectEx Ändert den Zugriffsschutz in einem Bereich committeter Seiten im virtuellen Adressraum des aufrufenden Prozesses.
VirtualProtectFromApp Ändert den Schutz in einem Bereich committeter Seiten im virtuellen Adressraum des aufrufenden Prozesses.
VirtualQuery Stellt Informationen zu einem Bereich von Seiten im virtuellen Adressraum des aufrufenden Prozesses bereit.
VirtualQueryEx Stellt Informationen zu einem Bereich von Seiten im virtuellen Adressraum des aufrufenden Prozesses bereit.
VirtualUnlock Entsperrt einen angegebenen Seitenbereich im virtuellen Adressraum eines Prozesses.

Globale und lokale Funktionen

Weitere Informationen finden Sie unter Globale und lokale Funktionen. Diese Funktionen werden zur Kompatibilität mit 16-Bit-Versionen von Windows bereitgestellt und mit dem dynamischen Datenaustausch (Dynamic Data Exchange, DDE), den Zwischenablagefunktionen und OLE-Datenobjekten verwendet. Sofern in der Dokumentation nicht ausdrücklich angegeben wird, dass eine globale oder lokale Funktion verwendet werden soll, sollten neue Anwendungen die entsprechende Heapfunktion mit dem von GetProcessHeap zurückgegebenen Handle verwenden. Legen Sie für die entsprechende Funktionalität der globalen oder lokalen Funktion den dwFlags-Parameter der Heapfunktion auf 0 (null) fest.

Funktion Beschreibung Entsprechende Heapfunktion
GlobalAlloc, LocalAlloc Weist die angegebene Anzahl von Bytes aus dem Heap zu. HeapAlloc
GlobalDiscard, LocalDiscard Verwirft den angegebenen globalen Speicherblock. Nicht zutreffend.
GlobalFlags, LocalFlags Gibt Informationen zum angegebenen globalen Speicherobjekt zurück. Nicht zutreffend. Verwenden Sie HeapValidate, um den Heap zu überprüfen.
GlobalFree, LocalFree Gibt das angegebene globale Speicherobjekt frei. HeapFree
GlobalHandle, LocalHandle Ruft das Handle ab, das dem angegebenen Zeiger auf einen globalen Speicherblock zugeordnet ist. Diese Funktion sollte nur mit OLE- und Zwischenablagefunktionen verwendet werden, für die sie erforderlich ist. Nicht zutreffend.
GlobalLock, LocalLock Sperrt ein globales Speicherobjekt und gibt einen Zeiger auf das erste Byte des Speicherblocks des Objekts zurück. Nicht zutreffend.
GlobalReAlloc, LocalReAlloc Ändert die Größe oder Attribute eines angegebenen globalen Speicherobjekts. HeapReAlloc
GlobalSize, LocalSize Ruft die aktuelle Größe des angegebenen globalen Speicherobjekts ab. HeapSize
GlobalUnlock, LocalUnlock Erhöht die Sperranzahl, die einem Speicherobjekt zugeordnet ist. Diese Funktion sollte nur mit OLE- und Zwischenablagefunktionen verwendet werden, für die sie erforderlich ist. Nicht zutreffend.

Funktionen für fehlerhaften Speicher

Funktion Beschreibung
BadMemoryCallbackRoutine Eine mit der RegisterBadMemoryNotification-Funktion registrierte anwendungsdefinierte Funktion, die aufgerufen wird, wenn mindestens eine fehlerhafte Seite erkannt wird.
GetMemoryErrorHandlingCapabilities Ruft die Systemfunktionen zur Fehlerbehandlung beim Arbeitsspeicher ab.
RegisterBadMemoryNotification Registriert eine Benachrichtigung über fehlerhaften Speicher, die aufgerufen wird, wenn mindestens eine fehlerhafte Seite erkannt wird.
UnregisterBadMemoryNotification Schließt das angegebene Benachrichtigungshandle für fehlerhaften Speicher.

Enclave-Funktionen

Funktion Beschreibung
CreateEnclave Erstellt eine neue, nicht initialisierte Enclave. Eine Enclave ist ein isolierter Bereich mit Code und Daten innerhalb des Adressraums für eine Anwendung. Nur Code, der in der Enclave ausgeführt wird, kann auf Daten innerhalb derselben Enclave zugreifen.
InitializeEnclave Initialisiert eine Enclave, die Sie erstellt und mit Daten geladen haben.
IsEnclaveTypeSupported Ruft ab, ob der angegebene Enclave-Typ unterstützt wird.
LoadEnclaveData Lädt Daten in eine nicht initialisierte Enclave, die Sie durch Aufrufen von CreateEnclave erstellt haben.

ATL-Thunk-Funktionen

Funktion Beschreibung
AtlThunk_AllocateData Ordnet Speicherplatz im Arbeitsspeicher einem ATL-Thunk zu.
AtlThunk_DataToCode Gibt eine ausführbare Funktion zurück, die dem AtlThunkData_t-Parameter entspricht.
AtlThunk_FreeData Gibt Arbeitsspeicher frei, der einem ATL-Thunk zugeordnet ist.
AtlThunk_InitData Initialisiert einen ATL-Thunk.

Veraltete Funktionen

Diese Funktionen werden nur zur Kompatibilität mit 16-Bit-Versionen von Windows bereitgestellt:

Die folgende Funktion kann falsche Informationen zurückgeben und sollte nicht verwendet werden. Verwenden Sie stattdessen die GlobalMemoryStatusEx-Funktion.