Teilen über


Speicherverwaltungsfunktionen

Allgemeine Speicherfunktionen

Funktion Beschreibung
AddSecureMemoryCacheCallback- Registriert eine Rückruffunktion, die aufgerufen wird, wenn ein gesicherter Speicherbereich freigegeben wird oder dessen 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 Ausrichtungsfehler beim Zugriff auf den Gerätespeicher nicht generiert werden.
CopyMemory- Kopiert einen Speicherblock von einem Speicherort an einen anderen.
CopyVolatileMemory Kopiert den Inhalt eines Quellspeicherblocks in einen Zielspeicherblock.
CreateMemoryResourceNotification- Erstellt ein Speicherressourcenbenachrichtigungsobjekt.
FillDeviceMemory Legt den Inhalt eines Puffers ohne Störungen von Compileroptimierungen in Situationen fest, in denen der Entwickler zusätzlich sicherstellen muss, dass Ausrichtungsfehler beim Zugriff auf den Gerätespeicher nicht generiert werden.
FillMemory- Füllt einen Speicherblock mit einem angegebenen Wert aus.
FillVolatileMemory Füllt einen Speicherblock mit dem angegebenen Füllwert aus.
GetLargePageMinimum Ruft die minimale Größe einer großen Seite ab.
GetPhysicallyInstalledSystemMemory Ruft die Menge an RAM 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 Speichers geschrieben wurden.
GlobalMemoryStatusEx- Ruft Informationen zur aktuellen Verwendung des Systems sowohl für physische als auch für den virtuellen Speicher 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 Status des angegebenen Speicherressourcenobjekts ab.
RemoveSecureMemoryCacheCallback- Hebt die Registrierung einer Rückruffunktion auf, die zuvor bei der AddSecureMemoryCacheCallback--Funktion registriert wurde.
ResetWriteWatch- Setzt den Schreibnachverfolgungsstatus für einen Bereich des virtuellen Speichers zurück.
SecureMemoryCacheCallback- Eine anwendungsdefinierte Funktion, die aufgerufen wird, wenn ein gesicherter Speicherbereich freigegeben wird oder dessen Schutz geändert wird.
SecureZeroMemory- Füllt einen Speicherblock mit Nullen aus.
SecureZeroMemory2- Füllt einen Speicherblock mit Nullen auf eine Weise, die garantiert sicher ist.
SetSystemFileCacheSize Beschränkt die Größe des Arbeitssatzes für den Dateisystemcache.
ZeroDeviceMemory Legt den Inhalt eines Puffers auf Nullen ohne Interferenzen von Compileroptimierungen in Situationen fest, in denen der Entwickler zusätzlich sicherstellen muss, dass Ausrichtungsfehler beim Zugriff auf den Gerätespeicher nicht generiert werden.
ZeroMemory- Füllt einen Speicherblock mit Nullen aus.
ZeroVolatileMemory Füllt einen Speicherblock mit Nullen aus.

Funktionen zur Verhinderung von Datenausführung

Diese Funktionen werden mit Datenausführungsverhinderung (DEP) verwendet.

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

Dateizuordnungsfunktionen

Diese Funktionen werden in Dateizuordnungverwendet.

Funktion Beschreibung
CreateFileMappingA- Erstellt oder öffnet ein benanntes oder unbenannte Dateizuordnungsobjekt für eine angegebene Datei.
CreateFileMappingW- Erstellt oder öffnet ein benanntes oder unbenannte Dateizuordnungsobjekt für eine angegebene Datei.
CreateFileMapping2- Erstellt oder öffnet ein benanntes oder unbenannte Dateizuordnungsobjekt für eine angegebene Datei. Sie können einen bevorzugten NUMA-Knoten für den physischen Speicher als erweiterten Parameter angeben. siehe den parameter ExtendedParameters.
CreateFileMappingFromApp- Erstellt oder öffnet ein benanntes oder unbenannte Dateizuordnungsobjekt für eine angegebene Datei aus einer Windows Store-App.
CreateFileMappingNuma Erstellt oder öffnet ein benanntes oder unbenannte Dateizuordnungsobjekt für eine angegebene Datei und gibt den NUMA-Knoten für den physischen Speicher an.
FlushViewOfFile- Schreibt in den Datenträger ein Bytebereich in einer zugeordneten Ansicht einer Datei.
GetMappedFileName- Überprüft, ob sich die angegebene Adresse innerhalb einer speicherzuordnungen Datei im Adressraum des angegebenen Prozesses befindet. Wenn ja, gibt die Funktion den Namen der speicherzuordnungen Datei zurück.
MapViewOfFile- Ordnet eine Ansicht einer Dateizuordnung dem Adressraum eines Aufrufvorgangs zu.
MapViewOfFile2- Ordnet eine Ansicht einer Datei oder eines pagefile-gesicherten Abschnitts dem Adressraum des angegebenen Prozesses zu.
MapViewOfFile3- Ordnet eine Ansicht einer Datei oder eines pagefile-gesicherten Abschnitts dem Adressraum des angegebenen Prozesses zu.
MapViewOfFile3FromApp- Ordnet eine Ansicht einer Dateizuordnung in den Adressraum eines Aufrufvorgangs aus einer Windows Store-App zu.
MapViewOfFileEx- Ordnet eine Ansicht einer Dateizuordnung dem Adressraum eines Aufrufvorgangs zu. Ein Aufrufer kann optional eine vorgeschlagene Speicheradresse für die Ansicht angeben.
MapViewOfFileExNuma Ordnet eine Ansicht einer Dateizuordnung dem Adressraum eines Aufrufvorgangs zu und gibt den NUMA-Knoten für den physischen Speicher an.
MapViewOfFileFromApp- Ordnet eine Ansicht einer Dateizuordnung in den Adressraum eines Aufrufvorgangs aus einer Windows Store-App zu.
MapViewOfFileNuma2 Ordnet eine Ansicht einer Datei oder eines pagefile-gesicherten 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 seitenfile-gesicherten Abschnitts auf.
UnmapViewOfFileEx- Hebt die Zuordnung einer zuvor zugeordneten Ansicht einer Datei oder eines seitenfile-gesicherten Abschnitts auf.

AWE-Funktionen

Dies sind die AWE-Funktionen.

Funktion Beschreibung
AllocateUserPhysicalPages Ordnet physische Speicherseiten zu, die innerhalb eines beliebigen AWE-Bereichs des Prozesses zugeordnet und nicht zugeordnet werden sollen.
AllocateUserPhysicalPagesNuma Weist physische Speicherseiten zu, die innerhalb eines beliebigen AWE-Bereichs des Prozesses zugeordnet und nicht zugeordnet werden sollen, und gibt den NUMA-Knoten für den physischen Speicher an.
FreeUserPhysicalPages Gibt physische Speicherseiten frei, die zuvor mit AllocateUserPhysicalPageszugeordnet wurden.
MapUserPhysicalPages Karten, die zuvor physischen Speicherseiten an der angegebenen Adresse in einer AWE-Region zugeordnet wurden.
MapUserPhysicalPagesScatter- Karten, die zuvor physischen Speicherseiten an der angegebenen Adresse in einer AWE-Region zugeordnet wurden.

Heap-Funktionen

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 Aufrufvorgang gültig sind.
HeapAlloc- Weist einen Speicherblock von einem Heap zu.
HeapCompact- Klammert angrenzende freie Speicherblöcke auf 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- Verteilt einen Speicherblock aus einem Heap.
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.

Virtuelle Speicherfunktionen

Dies sind die virtuellen Speicherfunktionen.

Funktion Beschreibung
DiscardVirtualMemory Verwirft den Speicherinhalt eines Speicherbereichs von Speicherseiten, 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 Speicherseiten enthaltenen Daten von der Anwendung nicht mehr benötigt werden und ggf. vom System verworfen werden können.
PrefetchVirtualMemory Stellen Sie virtuelle Adressbereiche im physischen Speicher vorab bereit.
QueryVirtualMemoryInformation Gibt Informationen zu einer Seite oder einer Reihe von Seiten innerhalb des virtuellen Adressraums des angegebenen Prozesses zurück.
ReclaimVirtualMemory Gibt eine Reihe von Speicherseiten zurück, die dem System mit OfferVirtualMemoryangeboten wurden.
SetProcessValidCallTargets Stellt CFG eine Liste gültiger indirekter Anrufziele bereit und gibt an, ob sie als gültig gekennzeichnet werden sollen.
VirtualAlloc- Reserviert oder verpflichtet einen Bereich von Seiten im virtuellen Adressraum des aufrufenden Prozesses.
VirtualAlloc2- Reserviert, commits oder ändert den Zustand eines Speicherbereichs innerhalb des virtuellen Adressraums eines angegebenen Prozesses. Die Funktion initialisiert den Speicher, den sie zu Null zuweist.
VirtualAlloc2FromApp- Reserviert, commits oder ändert den Status eines Seitenbereichs im virtuellen Adressraum des aufrufenden Prozesses. Der von dieser Funktion zugewiesene Arbeitsspeicher wird automatisch auf Null initialisiert.
VirtualAllocEx- Reserviert oder verpflichtet einen Bereich von Seiten im virtuellen Adressraum des angegebenen Prozesses.
VirtualAllocExNuma Reserviert oder committ einen Bereich des Arbeitsspeichers innerhalb des virtuellen Adressraums des angegebenen Prozesses und gibt den NUMA-Knoten für den physischen Speicher an.
VirtualAllocFromApp- Reserviert, commits oder ändert den Status eines Seitenbereichs im virtuellen Adressraum des aufrufenden Prozesses. Der von dieser Funktion zugewiesene Arbeitsspeicher wird automatisch auf Null initialisiert.
VirtualFree Gibt einen Bereich von Seiten innerhalb des virtuellen Adressraums des aufrufenden Prozesses frei oder entfernt sie.
VirtualFreeEx- Gibt einen Speicherbereich innerhalb des virtuellen Adressraums eines angegebenen Prozesses frei oder entfernt sie.
VirtualLock- Sperrt den angegebenen Bereich des virtuellen Adressraums des Prozesses im physischen Speicher.
VirtualProtect- Ändert den Zugriffsschutz in einer Region von zugesicherten Seiten im virtuellen Adressbereich des aufrufenden Prozesses.
VirtualProtectEx- Ändert den Zugriffsschutz in einer Region von zugesicherten Seiten im virtuellen Adressbereich des aufrufenden Prozesses.
VirtualProtectFromApp- Ändert den Schutz in einer Region von zugesicherten Seiten im virtuellen Adressbereich des aufrufenden Prozesses.
VirtualQuery- Stellt Informationen zu einem Seitenbereich im virtuellen Adressraum des aufrufenden Prozesses bereit.
VirtualQueryEx- Stellt Informationen zu einem Seitenbereich im virtuellen Adressraum des aufrufenden Prozesses bereit.
VirtualUnlock- Entsperrt einen angegebenen Seitenbereich im virtuellen Adressraum eines Prozesses.

Globale und lokale Funktionen

Siehe auch globalen und lokalen Funktionen. Diese Funktionen werden zur Kompatibilität mit 16-Bit-Windows bereitgestellt und mit 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 Heap-Funktion mit dem von GetProcessHeapzurückgegebenen Handle verwenden. Legen Sie für die entsprechende Funktionalität der globalen oder lokalen Funktion die dwFlags Parameter der Heap-Funktion auf 0 fest.

Funktion Beschreibung Entsprechende Heap-Funktion
GlobalAlloc, LocalAlloc- Weist die angegebene Anzahl von Bytes vom 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 zugeordnet ist, auf einen globalen Speicherblock. 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.

Ungültige Speicherfunktionen

Funktion Beschreibung
BadMemoryCallbackRoutine Eine anwendungsdefinierte Funktion, die bei der RegisterBadMemoryNotification Funktion registriert ist, die aufgerufen wird, wenn mindestens eine fehlerhafte Speicherseite erkannt wird.
GetMemoryErrorHandlingCapabilities- Ruft die Speicherfehlerbehandlungsfunktionen des Systems ab.
RegisterBadMemoryNotification Registriert eine fehlerhafte Speicherbenachrichtigung, die aufgerufen wird, wenn mindestens eine fehlerhafte Speicherseite erkannt wird.
UnregisterBadMemoryNotification Schließt das angegebene Handle für ungültige Speicherbenachrichtigungen.

Enklavenfunktionen

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

ATL-Thunk-Funktionen

Funktion Beschreibung
AtlThunk_AllocateData Ordnet Speicherplatz im Arbeitsspeicher für eine 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 ein 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 funktion GlobalMemoryStatusEx.