LocalLock-Funktion (winbase.h)
Sperrt ein lokales Speicherobjekt und gibt einen Zeiger auf das erste Byte des Speicherblocks des Objekts zurück.
Syntax
LPVOID LocalLock(
[in] HLOCAL hMem
);
Parameter
[in] hMem
Ein Handle für das lokale Speicherobjekt. Dieses Handle wird entweder von der Funktion LocalAlloc oder LocalReAlloc zurückgegeben.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ein Zeiger auf das erste Byte des Speicherblocks.
Wenn bei der Funktion ein Fehler auftritt, ist der Rückgabewert NULL. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.
Hinweise
Die internen Datenstrukturen für jedes Speicherobjekt enthalten eine Sperranzahl, die zunächst 0 ist. Bei beweglichen Speicherobjekten erhöht LocalLock die Anzahl um eins, und die LocalUnlock-Funktion erhöht die Anzahl um eins. Jeder erfolgreiche Aufruf, den ein Prozess an LocalLock für ein Objekt sendet, muss durch einen entsprechenden Aufruf von LocalUnlock abgeglichen werden. Gesperrter Arbeitsspeicher wird nicht verschoben oder verworfen, es sei denn, das Speicherobjekt wird mithilfe der LocalReAlloc-Funktion neu zugeordnet. Der Speicherblock eines gesperrten Speicherobjekts bleibt im Arbeitsspeicher gesperrt, bis seine Sperranzahl auf 0 erhöht wird. Zu diesem Zeitpunkt kann er verschoben oder verworfen werden.
Speicherobjekte, die LMEM_FIXED zugeordnet sind, weisen immer die Sperranzahl 0 auf. Für diese Objekte ist der Wert des zurückgegebenen Zeigers gleich dem Wert des angegebenen Handles.
Wenn der angegebene Speicherblock verworfen wurde oder der Speicherblock eine Null-Byte-Größe aufweist, gibt diese Funktion NULL zurück.
Verworfene Objekte weisen immer eine Sperranzahl von 0 auf.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | winbase.h (einschließlich Windows.h) |
Bibliothek | Kernel32.lib |
DLL | Kernel32.dll |