CoIncrementMTAUsage function ole32
Keeps MTA support active when no MTA threads are running.
Throws a WindowsException on failure.
To learn more, see learn.microsoft.com/windows/win32/api/combaseapi/nf-combaseapi-coincrementmtausage.
Implementation
CO_MTA_USAGE_COOKIE CoIncrementMTAUsage() {
final pCookie = adaptiveCalloc<Pointer>();
final hr$ = HRESULT(_CoIncrementMTAUsage(pCookie));
if (hr$.isError) {
free(pCookie);
throw WindowsException(hr$);
}
final result$ = pCookie.value;
free(pCookie);
return .new(result$);
}