Funzione CoSetCancelObject (combaseapi.h)
Imposta (registri) o reimposta (annulla la registrazione) un oggetto annulla per l'uso durante le operazioni di annullamento successive nel thread corrente.
Sintassi
HRESULT CoSetCancelObject(
[in, optional] IUnknown *pUnk
);
Parametri
[in, optional] pUnk
Puntatore all'interfaccia IUnknown nell'oggetto cancel da impostare o reimpostare nel thread corrente. Se questo parametro è NULL, viene reimpostato l'oggetto annulla più in alto.
Valore restituito
Questa funzione può restituire i valori restituiti standard E_FAIL, E_INVALIDARG, E_OUTOFMEMORY e E_UNEXPECTED, nonché i valori seguenti.
Codice restituito | Descrizione |
---|---|
|
L'oggetto cancel è stato impostato o reimpostato correttamente. |
|
L'oggetto cancel non può essere impostato o reimpostato in questo momento a causa di un blocco per le operazioni di annullamento. |
Commenti
Per gli oggetti che supportano il marshalling standard, l'oggetto proxy inizia il marshalling di una chiamata a un metodo chiamando CoSetCancelObject per registrare un oggetto annulla per il thread corrente.
CoSetCancelObject chiama QueryInterface per ICancelMethodCalls nell'oggetto cancel. Se l'oggetto cancel non implementa ICancelMethodCalls, CoSetCancelObject non riesce con E_NOINTERFACE. Per disabilitare le operazioni di annullamento in un'interfaccia con marshalling personalizzato, l'implementazione di ICancelMethodCalls::Cancel non deve eseguire alcuna operazione, ma restituire E_NOTIMPL, E_FAIL o un altro valore appropriato.
CoSetCancelObject chiama AddRef sugli oggetti registrati e rilasciati sugli oggetti che annullano la registrazione.
CoSetCancelObject non imposta o reimposta gli oggetti annulla per i metodi asincroni.
Requisiti
Requisito | Valore |
---|---|
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 |