Freigeben über


CoCancelCall-Funktion (combaseapi.h)

Fordert den Abbruch eines ausgehenden DCOM-Methodenaufrufs an, der für einen angegebenen Thread aussteht.

Syntax

HRESULT CoCancelCall(
  [in] DWORD dwThreadId,
  [in] ULONG ulTimeout
);

Parameter

[in] dwThreadId

Der Bezeichner des Threads, für den der ausstehende DCOM-Aufruf abgebrochen werden soll. Wenn dieser Parameter 0 ist, wird der Aufruf im aktuellen Thread ausgeführt.

[in] ulTimeout

Die Anzahl der Sekunden, die CoCancelCall wartet, bis der Server den ausgehenden Anruf abgeschlossen hat, nachdem der Client den Abbruch anforderte.

Rückgabewert

Diese Funktion kann die standardmäßigen Rückgabewerte E_FAIL, E_OUTOFMEMORY und E_UNEXPECTED sowie die folgenden Werte zurückgeben.

Rückgabecode BESCHREIBUNG
S_OK
Die Abbruchanforderung wurde gestellt.
E_NOINTERFACE
Es gibt kein Cancel-Objekt, das dem angegebenen Thread entspricht.
CO_E_CANCEL_DISABLED
Der Aufrufabbruch ist für den angegebenen Thread nicht aktiviert.
RPC_E_CALL_COMPLETE
Der Aufruf wurde während des Timeoutintervalls abgeschlossen.
RPC_E_CALL_CANCELED
Der Anruf wurde bereits abgebrochen.

Hinweise

CoCancelCall ruft CoGetCancelObject und dann ICancelMethodCalls::Cancel für das cancel-Objekt für den ausgeführten Aufruf auf.

Diese Funktion sucht keine Abbruchobjekte für asynchrone Aufrufe.

Der Objektserver kann ermitteln, ob der Aufruf abgebrochen wurde, indem Er regelmäßig CoTestCancel aufruft. Wenn der Aufruf abgebrochen wurde, sollte der Objektserver sauber und die Steuerung an den Client zurückgeben.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile combaseapi.h (include Objbase.h)
Bibliothek Ole32.lib
DLL Ole32.dll

Weitere Informationen

CoTestCancel