Freigeben über


IServiceCall::OnCall-Methode (comsvcs.h)

Löst die Ausführung der in dieser Methode implementierten Batcharbeit aus.

Syntax

HRESULT OnCall();

Rückgabewert

Diese Methode kann die standardmäßigen Rückgabewerte E_INVALIDARG, E_OUTOFMEMORY, E_FAIL und S_OK zurückgeben.

Hinweise

Die Batcharbeit, die in dieser Methode ausgeführt wird, wird im Kontext und Thread-Apartment der Aktivität ausgeführt, die durch den Aufruf von CoCreateActivity erstellt wurde. Die Batcharbeit in dieser Methode wird über einen Aufruf von SynchronousCall oder AsynchronousCall ausgeführt, wobei der IServiceActivity-Zeiger verwendet wird, der vom Aufruf von CoCreateActivity zurückgegeben wurde.

Sie müssen sicherstellen, dass diese Methode threadsicher ist, wenn das von CoCreateActivity erstellte Aktivitätsobjekt nicht mit einem synchronisierten Kontext erstellt wird, da in solchen Situationen viele OnCall-Aufrufe gleichzeitig ausgeführt werden können.

Um die beste Leistung des Systems zu erzielen, sollte die Kontextkonfiguration der von CoCreateActivity erstellten Aktivität mit der Batcharbeit abgeglichen werden, die von der OnCall-Methode ausgeführt wird. Wenn beispielsweise die Batcharbeit in der OnCall-Methode poolfähige Objekte verwendet, sollte die von CoCreateActivity erstellte Aktivität so konfiguriert werden, dass das Multithread-Apartment (MTA) verwendet wird.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile comsvcs.h

Weitere Informationen

IServiceCall