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 |
---|---|
|
Der verfügbare physische Arbeitsspeicher ist knapp. |
|
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 |