Condividi tramite


Funzione CoCancelCall (combaseapi.h)

Richiede l'annullamento di una chiamata al metodo DCOM in uscita in sospeso in un thread specificato.

Sintassi

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

Parametri

[in] dwThreadId

Identificatore del thread in cui deve essere annullata la chiamata DCOM in sospeso. Se questo parametro è 0, la chiamata si trova nel thread corrente.

[in] ulTimeout

Il numero di secondi in cui CoCancelCall attende che il server completi la chiamata in uscita dopo l'annullamento delle richieste del client.

Valore restituito

Questa funzione può restituire i valori restituiti standard E_FAIL, E_OUTOFMEMORY e E_UNEXPECTED, nonché i valori seguenti.

Codice restituito Descrizione
S_OK
Richiesta di annullamento effettuata.
E_NOINTERFACE
Nessun oggetto cancel corrispondente al thread specificato.
CO_E_CANCEL_DISABLED
L'annullamento delle chiamate non è abilitato nel thread specificato.
RPC_E_CALL_COMPLETE
La chiamata è stata completata durante l'intervallo di timeout.
RPC_E_CALL_CANCELED
La chiamata è già stata annullata.

Commenti

CoCancelCall chiama CoGetCancelObject e quindi ICancelMethodCalls::Cancel sull'oggetto cancel per la chiamata in esecuzione.

Questa funzione non individua gli oggetti cancel per le chiamate asincrone.

Il server oggetti può determinare se la chiamata è stata annullata chiamando periodicamente CoTestCancel. Se la chiamata è stata annullata, il server oggetti deve pulire e restituire il controllo al client.

Requisiti

   
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione combaseapi.h (include Objbase.h)
Libreria Ole32.lib
DLL Ole32.dll

Vedi anche

CoTestCancel