Freigeben über


GlobalLock-Funktion (winbase.h)

Sperrt ein globales Speicherobjekt und gibt einen Zeiger auf das erste Byte des Speicherblocks des Objekts zurück.

Hinweis Die globalen Funktionen weisen einen höheren Mehraufwand auf und bieten weniger Features als andere Speicherverwaltungsfunktionen. Neue Anwendungen sollten die Heapfunktionen verwenden, es sei denn, die Dokumentation besagt, dass eine globale Funktion verwendet werden soll. Weitere Informationen finden Sie unter Globale und lokale Funktionen.
 

Syntax

LPVOID GlobalLock(
  [in] HGLOBAL hMem
);

Parameter

[in] hMem

Ein Handle für das globale Speicherobjekt. Dieses Handle wird entweder von der Funktion GlobalAlloc oder GlobalReAlloc 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 anfänglich 0 ist. Bei beweglichen Speicherobjekten erhöht GlobalLock die Anzahl um eins, und die GlobalUnlock-Funktion verringert die Anzahl um eins. Jeder erfolgreiche Aufruf, den ein Prozess an GlobalLock für ein Objekt sendet, muss durch einen entsprechenden Aufruf von GlobalUnlock abgeglichen werden. Gesperrter Arbeitsspeicher wird nicht verschoben oder verworfen, es sei denn, das Speicherobjekt wird mithilfe der GlobalReAlloc-Funktion neu zugeordnet. Der Speicherblock eines gesperrten Speicherobjekts bleibt gesperrt, bis seine Sperranzahl auf 0 (null) verringert wird. Zu diesem Zeitpunkt kann er verschoben oder verworfen werden.

Speicherobjekte, die mit GMEM_FIXED zugeordnet sind, weisen immer eine Sperranzahl von 0 (null) 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 (null) auf.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile winbase.h (Windows.h einschließen)
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

Globale und lokale Funktionen

Globalalloc

GlobalReAlloc

GlobalUnlock

Speicherverwaltungsfunktionen