Funzione CoIncrementMTAUsage (combaseapi.h)

Mantiene attivo il supporto MTA quando non sono in esecuzione thread MTA.

Sintassi

HRESULT CoIncrementMTAUsage(
  [out] CO_MTA_USAGE_COOKIE *pCookie
);

Parametri

[out] pCookie

Indirizzo di una variabile PVOID che riceve il cookie per la funzione CoDecrementMTAUsage o NULL se la chiamata non riesce.

Valore restituito

Se questa funzione ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .

Commenti

La funzione CoIncrementMTAUsage consente ai client di creare ruoli di lavoro MTA e attendere il completamento prima di uscire dal processo.

La funzione CoIncrementMTAUsage garantisce che il sistema non liberi le risorse correlate al supporto MTA, anche se il numero di thread MTA va a 0.

In caso di esito positivo, chiamare CoDecrementMTAUsage una sola volta. In caso di errore, non chiamare la funzione CoDecrementMTAUsage .

Non chiamare CoIncrementMTAUsage durante l'arresto del processo o all'interno di dllmain. È possibile chiamare CoIncrementMTAUsage prima della chiamata per avviare il processo di arresto.

È possibile chiamare CoIncrementMTAUsage da un thread e CoDecrementMTAUsage da un altro, purché un cookie restituito in precedenza da CoIncrementMTAUsage venga passato a CoDecrementMTAUsage.

CoIncrementMTAUsage crea l'MTA, se l'MTA non esiste già. CoIncrementMTAUsage inserisce il thread corrente nell'MTA, se il thread corrente non si trova già in un apartment

È possibile usare CoIncrementMTAUsage quando:

  • Si vuole che un server mantenga attivo l'MTA anche quando tutti i thread di lavoro sono inattivi.
  • L'implementazione dell'API richiede l'inizializzazione di COM, ma non contiene informazioni su se il thread corrente si trova già in un apartment e non richiede che il thread corrente venga inserito in un apartment specifico.

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione combaseapi.h
Libreria Ole32.lib
DLL Ole32.dll

Vedi anche

CoDecrementMTAUsage