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 |