Freigeben über


GetWindowLongPtrA-Funktion (winuser.h)

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

Hinweis Verwenden Sie GetWindowLongPtr, um Code zu schreiben, der mit 32-Bit- und 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 GetWindowLongPtrA(
  [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 auf den abzurufenden Wert. Gültige Werte liegen im Bereich Null durch die 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 zum übergeordneten Fenster ab, falls 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. Der Wert ist anfangs 0.
GWLP_WNDPROC
–4
Ruft den Zeiger auf die Fensterprozedur oder einen Handle ab, der 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 einen Handle ab, der 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 private Informationen für die Anwendung ab, 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 null für Werte im zusätzlichen Fenster oder Klassenspeicher zurück.

Hinweise

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

Hinweis

Der winuser.h-Header definiert GetWindowLongPtr als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code 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 (einschließlich Windows.h)
Bibliothek User32.lib
DLL User32.dll
APIs ext-ms-win-ntuser-windowclass-l1-1-0 (in Windows 8 eingeführt)

Weitere Informationen

CallWindowProc

Konzept

Referenz

RegisterClassEx

SetParent

SetWindowLongPtr

WNDCLASSEX

Fensterklassen