Speicherverwaltungsfunktionen
- Allgemeine Speicherfunktionen
- Funktionen zur Datenausführungsverhinderung
- Dateizuordnungsfunktionen
- AWE-Funktionen
- Heapfunktionen
- Funktionen für den virtuellen Arbeitsspeicher
- Globale und lokale Funktionen
- Funktionen für fehlerhaften Speicher
- Enclave-Funktionen
- ATL-Thunk-Funktionen
- Veraltete Funktionen
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.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für