WNDPROC-Rückruffunktion (winuser.h)

Eine Rückruffunktion, die Sie in Ihrer Anwendung definieren, die an ein Fenster gesendete Nachrichten verarbeitet. Der WNDPROC-Typ definiert einen Zeiger auf diese Rückruffunktion. Der WndProc-Name ist ein Platzhalter für den Namen der Funktion, die Sie in Ihrer Anwendung definieren.

Syntax

WNDPROC Wndproc;

LRESULT Wndproc(
  HWND unnamedParam1,
  UINT unnamedParam2,
  WPARAM unnamedParam3,
  LPARAM unnamedParam4
)
{...}

Parameter

unnamedParam1

Typ: HWND

Ein Handle für das Fenster. Dieser Parameter wird in der Regel hWnd genannt.

unnamedParam2

Typ: UINT

Die Meldung. Dieser Parameter wird in der Regel uMsg genannt.

Listen der vom System bereitgestellten Nachrichten finden Sie unter Systemdefinierte Nachrichten.

unnamedParam3

Typ: WPARAM

Zusätzliche Nachrichteninformationen. Dieser Parameter wird in der Regel wParam genannt.

Der Inhalt des wParam-Parameters hängt vom Wert des uMsg-Parameters ab.

unnamedParam4

Typ: LPARAM

Zusätzliche Nachrichteninformationen. Dieser Parameter wird in der Regel lParam genannt.

Der Inhalt des lParam-Parameters hängt vom Wert des uMsg-Parameters ab.

Rückgabewert

Typ: LRESULT

Der Rückgabewert ist das Ergebnis der Nachrichtenverarbeitung und hängt von der gesendeten Nachricht ab.

Hinweise

Wenn Ihre Anwendung unter einer 32-Bit-Version des Windows-Betriebssystems ausgeführt wird, werden nicht ausgeführte Ausnahmen vom Rückruf an ausnahmehandler der höheren Ebene Ihrer Anwendung übergeben, sofern verfügbar. Das System ruft dann den nicht behandelten Ausnahmefilter auf, um die Ausnahme vor dem Beenden des Prozesses zu behandeln. Wenn das PCA aktiviert ist, bietet es an, das Problem beim nächsten Ausführen der Anwendung zu beheben.

Wenn Ihre Anwendung jedoch unter einer 64-Bit-Version von Windows-Betriebssystem oder WOW64 ausgeführt wird, sollten Sie sich bewusst sein, dass ein 64-Bit-Betriebssystem nicht ausgeführte Ausnahmen basierend auf seiner 64-Bit-Prozessorarchitektur, Ausnahmearchitektur und Aufrufkonvention unterschiedlich behandelt. In der folgenden Tabelle sind alle möglichen Möglichkeiten zusammengefasst, wie ein 64-Bit-Windows-Betriebssystem oder WOW64 nicht ausgeführte Ausnahmen verarbeitet.

Verhaltenstyp So verarbeitet das System nicht abgefangene Ausnahmen
1 Nicht berücksichtigte Ausnahmen werden vom System unterdrückt.
2 Das System beendet zuerst den Prozess, und dann bietet der Programmkompatibilitäts-Assistent (PCA) an, ihn beim nächsten Ausführen der Anwendung zu beheben. Sie können die PCA-Entschärfung deaktivieren, indem Sie dem Anwendungsmanifest einen Abschnitt Kompatibilität hinzufügen.
3 Das System ruft die Ausnahmefilter auf, unterdrückt jedoch alle nicht ausgeführten Ausnahmen, wenn es den Rückrufbereich verlässt, ohne die zugehörigen Handler aufzurufen.

Die folgende Tabelle zeigt, wie eine 64-Bit-Version des Windows-Betriebssystems und WOW64 nicht ausgeführte Ausnahmen behandelt. Beachten Sie, dass der Verhaltenstyp 2 nur für die 64-Bit-Version des Windows 7-Betriebssystems und höher gilt.

Betriebssystem WOW64 64-Bit-Windows
Windows XP 3 1
Windows Server 2003 3 1
Windows Vista 3 1
Windows Vista SP1 1 1
Windows 7 und höher 1 2

Hinweis

Unter Windows 7 mit SP1 (32-Bit, 64-Bit oder WOW64) ruft das System den nicht behandelten Ausnahmefilter auf, um die Ausnahme vor dem Beenden des Prozesses zu behandeln. Wenn der Programmkompatibilitäts-Assistent (Program Compatibility Assistant, PCA) aktiviert ist, bietet er an, das Problem beim nächsten Ausführen der Anwendung zu beheben.

Wenn Sie Ausnahmen in Ihrer Anwendung behandeln müssen, können Sie dazu die strukturierte Ausnahmebehandlung verwenden. Weitere Informationen zur Verwendung der strukturierten Ausnahmebehandlung finden Sie unter Strukturierte Ausnahmebehandlung.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Kopfzeile winuser.h (einschließen von windows.h)

Weitere Informationen