CoIncrementMTAUsage 함수(combaseapi.h)

MTA 스레드가 실행되고 있지 않은 경우 MTA 지원을 활성으로 유지합니다.

구문

HRESULT CoIncrementMTAUsage(
  [out] CO_MTA_USAGE_COOKIE *pCookie
);

매개 변수

[out] pCookie

CoDecrementMTAUsage 함수에 대한 쿠키를 수신하는 PVOID 변수의 주소이거나 호출이 실패할 경우 NULL입니다.

반환 값

이 함수가 성공하면 S_OK 반환합니다. 그러지 않으면 HRESULT 오류 코드를 반환합니다.

설명

CoIncrementMTAUsage 함수를 사용하면 클라이언트가 MTA 작업자를 만들고 프로세스를 종료하기 전에 완료될 때까지 기다릴 수 있습니다.

CoIncrementMTAUsage 함수는 시스템이 MTA 지원과 관련된 리소스를 해제하지 않도록 합니다. MTA 스레드 수가 0으로 가는 경우에도 마찬가지입니다.

성공하면 CoDecrementMTAUsage 를 한 번만 호출합니다. 실패 시 CoDecrementMTAUsage 함수를 호출하지 마세요.

프로세스 종료 중 또는 dllmain 내부에서 CoIncrementMTAUsage 를 호출하지 마세요. 호출 전에 CoIncrementMTAUsage 를 호출하여 종료 프로세스를 시작할 수 있습니다.

이전에 CoIncrementMTAUsage에서 반환된 쿠키가 CoDecrementMTAUsage에 전달되는 한 한 스레드에서 CoIncrementMTAUsage를 호출하고 다른 스레드에서 CoDecrementMTAUsage를 호출할 수 있습니다.

CoIncrementMTAUsage 는 MTA가 아직 없는 경우 MTA를 만듭니다. 현재 스레드가 아직 아파트에 없는 경우 CoIncrementMTAUsage는 현재 스레드를 MTA에 넣습니다.

다음과 같은 경우 CoIncrementMTAUsage 를 사용할 수 있습니다.

  • 모든 작업자 스레드가 유휴 상태인 경우에도 서버가 MTA를 활성 상태로 유지하려고 합니다.
  • API 구현을 수행하려면 COM을 초기화해야 하지만 현재 스레드가 이미 아파트에 있는지 여부에 대한 정보가 없으며 특정 아파트로 이동하는 데 현재 스레드가 필요하지 않습니다.

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 combaseapi.h
라이브러리 Ole32.lib
DLL Ole32.dll

추가 정보

CoDecrementMTAUsage