Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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
)
{...}
Die 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 als uMsg bezeichnet.
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 heißt in der Regel "lParam".
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.
Bemerkungen
Hinweis
Die Parameter werden in der Kopfzeile ohne Namen definiert: typedef LRESULT (CALLBACK* WNDPROC)(HWND, UINT, WPARAM, LPARAM);. Der Syntaxblock listet sie daher als unnamedParam1 - unnamedParam4. Sie können diese Parameter in Ihrer App benennen. Sie werden jedoch in der Regel wie in den Parameterbeschreibungen dargestellt benannt. Visual Studio-Projektvorlagen verwenden diese Namen (oder ähnlich, je nach Vorlage).
Wenn Ihre Anwendung auf einer 32-Bit-Version des Windows-Betriebssystems ausgeführt wird, werden unausgeglichene Ausnahmen vom Rückruf nach Verfügbarkeit an Ausnahmehandler auf höherer Ebene ihrer Anwendung übergeben. Das System ruft dann den unbehandelten Ausnahmefilter auf, um die Ausnahme zu behandeln, bevor der Prozess beendet wird. Wenn die PCA aktiviert ist, wird es angeboten, das Problem beim nächsten Ausführen der Anwendung zu beheben.
Wenn Ihre Anwendung jedoch auf einer 64-Bit-Version des Windows-Betriebssystems oder WOW64 ausgeführt wird, sollten Sie beachten, dass ein 64-Bit-Betriebssystem auf der Grundlage seiner 64-Bit-Prozessorarchitektur, Ausnahmearchitektur und Aufrufkonvention unterschiedliche Ausnahmen behandelt. In der folgenden Tabelle sind alle möglichen Möglichkeiten zusammengefasst, wie ein 64-Bit-Windows-Betriebssystem oder WOW64 uncaught Exceptions behandelt.
| Verhaltenstyp | So behandelt das System uncaught Exceptions |
|---|---|
| 1 | Das System unterdrückt alle nicht angezeigten Ausnahmen.The system suppresss any uncaught exceptions. |
| 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 zusammenhängenden Ausnahmen, wenn er den Rückrufbereich verlässt, ohne die zugehörigen Handler aufzurufen. |
In der folgenden Tabelle wird gezeigt, wie eine 64-Bit-Version des Windows-Betriebssystems und WOW64 uncaught exceptions 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 unbehandelten Ausnahmefilter auf, um die Ausnahme zu behandeln, bevor der Prozess beendet wird. Wenn der Programmkompatibilitäts-Assistent (PCA) aktiviert ist, wird es angeboten, 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 |
|---|---|
| Mindestens unterstützter Client | Windows 2000 Professional [nur Desktop-Apps] |
| Mindestanforderungen für unterstützte Server | Windows 2000 Server [nur Desktop-Apps] |
| Header | winuser.h (include windows.h) |