Condividi tramite


Metodo ObjectControl::D eactivate (comsvcs.h)

Consente a un oggetto COM+ di eseguire la pulizia necessaria prima che venga riciclata o distrutta.

Questo metodo viene chiamato dall'ambiente di runtime COM+ ogni volta che un oggetto viene disattivato. Non effettuare chiamate di metodo agli oggetti nella stessa attività da questo metodo.

Sintassi

HRESULT Deactivate();

Valore restituito

Questo metodo può restituire i valori restituiti standard E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED, E_FAIL e S_OK.

Commenti

L'ambiente DI runtime COM+ chiama il metodo Disattiva ogni volta che un oggetto che supporta l'interfaccia ObjectControl viene disattivato. Un oggetto viene disattivato quando restituisce da un metodo in cui il metodo denominato SetComplete o SetAbort, quando la transazione in cui è stata eseguita viene eseguito il commit o l'interruzione o quando l'ultimo client deve contenere un riferimento sull'oggetto rilascia il riferimento.

Se il componente supporta il riciclo (restituisce TRUE dal metodo CanBePooled ), è necessario utilizzare il metodo Disattiva per reimpostare lo stato dell'oggetto allo stato in cui il metodo Activate prevede di trovarlo. È anche possibile usare il metodo Disattiva per rilasciare il contesto dell'oggetto o per eseguire altre operazioni di pulizia specifiche del contesto. Anche se un oggetto supporta il riciclo, può essere utile rilasciare determinate risorse riutilizzabili nel metodo Disattiva . Ad esempio, ODBC fornisce il proprio pool di connessioni. È più efficiente eseguire il pool di una connessione di database in un pool di connessioni generale in cui altri oggetti possono usarli rispetto a quelli associati a un oggetto specifico in un pool di oggetti.

COM+ impedisce esplicitamente di chiamare in un oggetto che espone ObjectControl dopo che il metodo Disattiva è stato restituito (quando si trova nel relativo distruttore). Tale chiamata comporta un errore di RPC_E_DISCONNECTED. Ad esempio, se un oggetto ha passato un riferimento a se stesso e quindi torna all'oggetto dopo aver restituito Disattiva, viene restituito un errore disconnesso.

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 comsvcs.h

Vedi anche

ObjectControl