IMessageFilter::HandleInComingCall-Methode (objidl.h)
Stellt einen einzelnen Einstiegspunkt für eingehende Anrufe bereit.
Diese Methode wird vor jedem Methodenaufruf aufgerufen, der außerhalb des aktuellen Prozesses liegt, und bietet die Möglichkeit, eingehende Aufrufe (oder Rückrufe) an ein Objekt oder einen Prozess zu filtern oder abzulehnen.
Syntax
DWORD HandleInComingCall(
[in] DWORD dwCallType,
[in] HTASK htaskCaller,
[in] DWORD dwTickCount,
[in] LPINTERFACEINFO lpInterfaceInfo
);
Parameter
[in] dwCallType
Der Typ des eingehenden Anrufs, der empfangen wurde. Mögliche Werte stammen aus der Enumeration CALLTYPE.
[in] htaskCaller
Die Thread-ID des Aufrufers.
[in] dwTickCount
Die Anzahl der verstrichenen Teilstriche seit dem ausgehenden Anruf, wenn dwCallType nicht CALLTYPE_TOPLEVEL ist. Wenn dwCallType CALLTYPE_TOPLEVEL ist, sollte dwTickCount ignoriert werden.
[in] lpInterfaceInfo
Ein Zeiger auf eine INTERFACEINFO-Struktur , die das aufgerufene Objekt, die Schnittstelle und die Methode identifiziert. Bei DDE-Aufrufen kann lpInterfaceInfoNULL sein, da die DDE-Ebene keine Schnittstelleninformationen zurückgibt.
Rückgabewert
Diese Methode kann die folgenden Werte zurückgeben.
Rückgabecode | Beschreibung |
---|---|
|
Die Anwendung kann den Aufruf möglicherweise verarbeiten. |
|
Die Anwendung kann den Aufruf aufgrund eines unvorhergesehenen Problems nicht verarbeiten, z. B. aufgrund der Nichtverfügbarkeit des Netzwerks, oder wenn er gerade beendet wird. |
|
Die Anwendung kann den Aufruf derzeit nicht verarbeiten. Eine Anwendung gibt diesen Wert möglicherweise zurück, wenn sie sich in einem vom Benutzer gesteuerten modalen Zustand befindet. |
Hinweise
Falls implementiert, wird HandleInComingCall von COM aufgerufen, wenn eine eingehende COM-Nachricht empfangen wird.
Abhängig vom aktuellen Status einer Anwendung wird ein Aufruf entweder akzeptiert und verarbeitet oder abgelehnt (dauerhaft oder vorübergehend). Wenn SERVERCALL_ISHANDLED zurückgegeben wird, kann die Anwendung den Aufruf möglicherweise verarbeiten, obwohl der Erfolg von der Schnittstelle abhängt, für die der Aufruf bestimmt ist. Wenn der Aufruf nicht verarbeitet werden kann, gibt COM RPC_E_CALL_REJECTED zurück.
Eingabesynchrone und asynchrone Aufrufe werden auch dann weitergeleitet, wenn die Anwendung SERVERCALL_REJECTED oder SERVERCALL_RETRYLATER zurückgibt.
HandleInComingCall sollte nicht verwendet werden, um Aktualisierungen von Objekten während Vorgängen wie banddrucken zu halten. Verwenden Sie zu diesem Zweck IViewObject::Freeze.
Sie können auch HandleInComingCall verwenden, um den Zustand der Anwendung so einzurichten, dass der Aufruf in Zukunft verarbeitet werden kann.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | objidl.h |