PSECURE_MEMORY_CACHE_CALLBACK Rückruffunktion (winnt.h)
Eine anwendungsdefinierte Funktion, die zuvor bei der Funktion AddSecureMemoryCacheCallback registriert wurde und aufgerufen wird, wenn ein geschützter Speicherbereich freigegeben oder sein Schutz geändert wird.
Der PSECURE_MEMORY_CACHE_CALLBACK-Typ definiert einen Zeiger auf diese Rückruffunktion. SecureMemoryCacheCallback ist ein Platzhalter für den anwendungsdefinierte Funktionsnamen.
Syntax
PSECURE_MEMORY_CACHE_CALLBACK PsecureMemoryCacheCallback;
BOOLEAN PsecureMemoryCacheCallback(
[in] PVOID Addr,
[in] SIZE_T Range
)
{...}
Parameter
[in] Addr
Die Startadresse des Speicherbereichs.
[in] Range
Die Größe des Speicherbereichs in Bytes.
Rückgabewert
Der Rückgabewert gibt den Erfolg oder Fehler dieser Funktion an.
Wenn der Aufrufer den angegebenen Speicherbereich gesichert hat, sollte diese Funktion den Arbeitsspeicher absichern und TRUE zurückgeben.
Wenn der Aufrufer den angegebenen Speicherbereich nicht gesichert hat, sollte diese Funktion FALSE zurückgeben.
Hinweise
Nachdem die Rückruffunktion registriert wurde, wird sie aufgerufen, nachdem versucht wurde, den angegebenen Speicherbereich freizugeben oder den Schutz zu ändern. Wenn die Anwendung einen Teil des angegebenen Speicherbereichs gesichert hat, muss die Rückruffunktion alle zwischengespeicherten Speicherzuordnungen der Anwendung für den gesicherten Speicherbereich ungültig, die gesicherten Teile des Speicherbereichs unsicher und TRUE zurückgeben. Andernfalls muss false zurückgegeben werden.
Die Anwendung sichert und sichert einen Speicherbereich, indem Anforderungen an einen Gerätetreiber gesendet werden, der die Funktionen MmSecureVirtualMemory und MmUnsecureVirtualMemory verwendet, um den Bereich tatsächlich zu sichern und zu verunsichern. Vorgänge für andere Typen von gesichertem oder gesperrtem Arbeitsspeicher lösen diesen Rückruf nicht aus.
Beispiele für Funktionsaufrufe, die die Rückruffunktion auslösen, sind Aufrufe der Funktionen VirtualFree, VirtualFreeEx, VirtualProtect, VirtualProtectEx und UnmapViewOfFile.
Die Rückruffunktion kann auch durch einen Heapvorgang ausgelöst werden. In diesem Fall darf die Funktion keine weiteren Vorgänge auf dem Heap ausführen, der den Rückruf ausgelöst hat. Dies umfasst das Aufrufen von Heapfunktionen auf einem privaten Heap oder dem Standardheap des Prozesses oder das Aufrufen von Standardbibliotheksfunktionen wie malloc und free, die implizit den Standardheap des Prozesses verwenden.
Um die Registrierung der Rückruffunktion aufzuheben, verwenden Sie die Funktion RemoveSecureMemoryCacheCallback .
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista mit SP1 [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | winnt.h (Einschließen von Windows.h) |