Freigeben über


CreateMemoryResourceNotification-Funktion (memoryapi.h)

Erstellt ein Speicherressourcenbenachrichtigungsobjekt.

Syntax

HANDLE CreateMemoryResourceNotification(
  [in] MEMORY_RESOURCE_NOTIFICATION_TYPE NotificationType
);

Parameter

[in] NotificationType

Die Speicherbedingung, unter der das Objekt signalisiert werden soll. Dieser Parameter kann einer der folgenden Werte aus der MEMORY_RESOURCE_NOTIFICATION_TYPE-Enumeration sein.

Wert Bedeutung
LowMemoryResourceNotification
0
Der verfügbare physische Arbeitsspeicher ist knapp.
HighMemoryResourceNotification
1
Der verfügbare physische Arbeitsspeicher ist hoch.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ein Handle für ein Speicherressourcenbenachrichtigungsobjekt.

Wenn bei der Funktion ein Fehler auftritt, ist der Rückgabewert NULL. Rufen Sie GetLastError auf, um erweiterte Informationen abzurufen.

Hinweise

Anwendungen können Benachrichtigungsereignisse für Speicherressourcen verwenden, um die Arbeitsspeicherauslastung entsprechend zu skalieren. Wenn der verfügbare Arbeitsspeicher niedrig ist, kann die Anwendung ihren Arbeitssatz reduzieren. Wenn der verfügbare Arbeitsspeicher hoch ist, kann die Anwendung mehr Arbeitsspeicher zuweisen.

Jeder Thread des aufrufenden Prozesses kann das Benachrichtigungshandle der Speicherressourcen in einem Aufruf der QueryMemoryResourceNotification-Funktion oder einer der Wartefunktionen angeben. Der Zustand des Objekts wird signalisiert, wenn die angegebene Speicherbedingung vorhanden ist. Dies ist ein systemweites Ereignis, sodass alle Anwendungen eine Benachrichtigung erhalten, wenn das Objekt signalisiert wird. Beachten Sie, dass es einen Bereich der Speicherverfügbarkeit gibt, in dem weder das LowMemoryResourceNotification-Objekt noch das HighMemoryResourceNotification-Objekt signalisiert wird. In diesem Fall sollten Anwendungen versuchen, die Arbeitsspeichernutzung konstant zu halten.

Verwenden Sie die CloseHandle-Funktion , um das Handle zu schließen. Das System schließt den Handle automatisch, wenn der Prozess beendet wird. Das Speicherressourcenbenachrichtigungsobjekt wird zerstört, wenn das letzte Handle geschlossen wurde.

Um eine Anwendung zu kompilieren, die diese Funktion verwendet, definieren Sie das _WIN32_WINNT Makro als 0x0501 oder höher. Weitere Informationen finden Sie unter Verwenden der Windows-Header.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile memoryapi.h (einschließlich Windows.h, Memoryapi.h)
Bibliothek onecore.lib
DLL Kernel32.dll

Siehe auch

CloseHandle

Speicherverwaltungsfunktionen

QueryMemoryResourceNotification