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) |