CoIncrementMTAUsage function ole32

CO_MTA_USAGE_COOKIE CoIncrementMTAUsage()

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$);
}