Share via


GetWindowLongPtrW-Funktion (winuser.h)

Ruft Informationen zum angegebenen Fenster ab. Die Funktion ruft auch den Wert an einem angegebenen Offset in den zusätzlichen Fensterspeicher ab.

Hinweis Verwenden Sie GetWindowLongPtr, um Code zu schreiben, der sowohl mit 32-Bit- als auch mit 64-Bit-Versionen von Windows kompatibel ist. Beim Kompilieren für 32-Bit-Windows wird GetWindowLongPtr als Aufruf der GetWindowLong-Funktion definiert.
 

Syntax

LONG_PTR GetWindowLongPtrW(
  [in] HWND hWnd,
  [in] int  nIndex
);

Parameter

[in] hWnd

Typ: HWND

Ein Handle für das Fenster und indirekt die Klasse, zu der das Fenster gehört.

[in] nIndex

Typ: int

Der nullbasierte Offset zum abzurufenden Wert. Gültige Werte liegen im Bereich 0 bis zur Anzahl der Bytes des zusätzlichen Fensterspeichers abzüglich der Größe eines LONG_PTR. Geben Sie einen der folgenden Werte an, um einen anderen Wert abzurufen.

Wert Bedeutung
GWL_EXSTYLE
-20
Ruft die erweiterten Fensterstile ab.
GWLP_HINSTANCE
–6
Ruft ein Handle für die anwendung instance ab.
GWLP_HWNDPARENT
-8
Ruft ein Handle für das übergeordnete Fenster ab, sofern vorhanden.
GWLP_ID
-12
Ruft den Bezeichner des Fensters ab.
GWL_STYLE
-16
Ruft die Fensterstile ab.
GWLP_USERDATA
-21
Ruft die dem Fenster zugeordneten Benutzerdaten ab. Diese Daten sind für die Verwendung durch die Anwendung vorgesehen, die das Fenster erstellt hat. Sein Wert ist anfänglich 0 (null).
GWLP_WNDPROC
–4
Ruft den Zeiger auf die Fensterprozedur oder ein Handle ab, das den Zeiger auf die Fensterprozedur darstellt. Sie müssen die CallWindowProc-Funktion verwenden, um die Fensterprozedur aufzurufen.
 

Die folgenden Werte sind auch verfügbar, wenn der hWnd-Parameter ein Dialogfeld identifiziert.

Wert Bedeutung
DWLP_DLGPROC
DWLP_MSGRESULT + sizeof(LRESULT)
Ruft den Zeiger auf die Dialogfeldprozedur oder ein Handle ab, das den Zeiger auf die Dialogfeldprozedur darstellt. Sie müssen die CallWindowProc-Funktion verwenden, um die Dialogfeldprozedur aufzurufen.
DWLP_MSGRESULT
0
Ruft den Rückgabewert einer Nachricht ab, die in der Dialogfeldprozedur verarbeitet wird.
DWLP_USER
DWLP_DLGPROC + sizeof(DLGPROC)
Ruft zusätzliche Informationen ab, die für die Anwendung privat sind, z. B. Handles oder Zeiger.

Rückgabewert

Typ: LONG_PTR

Wenn die Funktion erfolgreich ist, ist der Rückgabewert der angeforderte Wert.

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Wenn SetWindowLong oder SetWindowLongPtr noch nicht aufgerufen wurde, gibt GetWindowLongPtr für Werte im zusätzlichen Fenster- oder Klassenspeicher null zurück.

Hinweise

Reservieren Sie zusätzlichen Fensterspeicher, indem Sie einen Wert ungleich null im cbWndExtra-Element der WNDCLASSEX-Struktur angeben, die mit der RegisterClassEx-Funktion verwendet wird.

Hinweis

Der winuser.h-Header definiert GetWindowLongPtr als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht Codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winuser.h (windows.h einschließen)
Bibliothek User32.lib
DLL User32.dll
APIs ext-ms-win-ntuser-windowclass-l1-1-0 (eingeführt in Windows 8)

Weitere Informationen

CallWindowProc

Konzept

Referenz

RegisterClassEx

SetParent

SetWindowLongPtr

WNDCLASSEX

Fensterklassen