Freigeben über


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
)
{...}

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)

Siehe auch