CoIncrementMTAUsage-Funktion (combaseapi.h)

Hält die MTA-Unterstützung aktiv, wenn keine MTA-Threads ausgeführt werden.

Syntax

HRESULT CoIncrementMTAUsage(
  [out] CO_MTA_USAGE_COOKIE *pCookie
);

Parameter

[out] pCookie

Adresse einer PVOID-Variablen , die das Cookie für die CoDecrementMTAUsage-Funktion empfängt, oder NULL , wenn der Aufruf fehlschlägt.

Rückgabewert

Wenn diese Funktion erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.

Hinweise

Mit der CoIncrementMTAUsage-Funktion können Clients MTA-Worker erstellen und darauf warten, bis sie abgeschlossen sind, bevor sie den Prozess beenden.

Die CoIncrementMTAUsage-Funktion stellt sicher, dass das System keine Ressourcen im Zusammenhang mit der MTA-Unterstützung freigibt, auch wenn die MTA-Threadanzahl auf 0 festgelegt ist.

Bei Erfolg rufen Sie CoDecrementMTAUsage nur einmal auf. Rufen Sie bei Einem Fehler nicht die CoDecrementMTAUsage-Funktion auf.

Rufen Sie CoIncrementMTAUsage nicht während des Herunterfahrens des Prozesses oder innerhalb von dllmain auf. Sie können CoIncrementMTAUsage vor dem Aufruf aufrufen, um den Herunterfahrvorgang zu starten.

Sie können CoIncrementMTAUsage von einem Thread und CoDecrementMTAUsage aus einem anderen Thread aufrufen, solange ein zuvor von CoIncrementMTAUsage zurückgegebenes Cookie an CoDecrementMTAUsage übergeben wird.

CoIncrementMTAUsage erstellt den MTA, wenn der MTA noch nicht vorhanden ist. CoIncrementMTAUsage fügt den aktuellen Thread in den MTA ein, wenn sich der aktuelle Thread noch nicht in einer Wohnung befindet.

Sie können CoIncrementMTAUsage in folgenden Fällen verwenden:

  • Sie möchten, dass ein Server den MTA auch dann am Laufen hält, wenn sich alle Arbeitsthreads im Leerlauf befinden.
  • Ihre API-Implementierung erfordert die Initialisierung von COM, enthält jedoch keine Informationen dazu, ob sich der aktuelle Thread bereits in einem Apartment befindet, und der aktuelle Thread muss nicht in ein bestimmtes Apartment wechseln.

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile combaseapi.h
Bibliothek Ole32.lib
DLL Ole32.dll

Weitere Informationen

CoDecrementMTAUsage