was ist handle?
-
z.B. windows handle hwnd, ist handle eigentlich eine struktur, wo member und funktionspointer gespeichert sind?
manchmal muss man zuerst lock dann kann man auf die internen sachen zugreifen, dann unlock, wieso?
-
Ich verstehe deine eigentliche Frage nicht ganz.
Aber die Typen sind ja definiert und man kann die sich anschauen:http://msdn2.microsoft.com/en-us/library/aa383751(VS.85).aspx
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
netrobot schrieb:
z.B. windows handle hwnd, ist handle eigentlich eine struktur, wo member und funktionspointer gespeichert sind?
manchmal muss man zuerst lock dann kann man auf die internen sachen zugreifen, dann unlock, wieso?Ein Handle ist nichts anderes als eine Nummer die ein bestimmtes Objekt identifiziert.
Manchmal sind diese Handles nur einfache Zahlen, die auf die Eleemnte eines "internen" Arrays verweisen. Manchmal sind es sogar direkte Speicheradressen oder Offsets in einen Speicherblock.Spielt alles keine Rolle. Denn was man mit einem Handle macht ist durch die entsprechende API Funktion definiert.
Das Sperren eines Handles und das freigeben kennt die WIndows API jedoch nicht. Jedenfalls fällt mir kein solches aktuell ein.
-
Verzage nicht, handle.
-
meinst du GlobalLock und so?
-
GlobalAlloc mit GMEM_MOVEABLE gibt ein HGLOBAL zurück, daß auf einen verschiebbaren Speicherblock verweist und vor Zugrifferst gelockt werden muß.
Der Speichermanager muß den Block z.B. bei einem GlobalRealloc verschieben, das handle bleibt weiterhin gültig, man muß sich aber mit "Lock" die neue Adresse holen.
-
was macht überhaupt das "Lock"?
-
markiert den von GlobalAlloc zurückgegebenen Handle als "in Benutzung" - derSpeicherblock darf also nicht verschoben werden, bis Unlock aufgerufen wird - und liefert die Adresse zurück.
-
Wer Windows-Anwendungen programmieren will ohne zu wissen, was ein handles sind, der benutze sie einfach. Windows macht das schon.