COM+ 리소스 디스펜서 구현

다음 단계에서는 COM+ 리소스 디스펜서를 구현하기 위한 일반적인 절차를 간략하게 설명합니다.

  1. 리소스가 서로 어떻게 다른지 분류하는 RESTYPID 형식을 결정합니다.

  2. Mtxdm.h 및 Mtxdm.lib 헤더 파일 및 라이브러리를 각각 사용합니다.

  3. 애플리케이션에 노출하려는 IDispenserDriver 인터페이스 및 API를 구현하는 DLL을 빌드합니다.

  4. 시작(DllMain 또는 디스펜서 API에 대한 첫 번째 호출)에서 GetDispenserManager 함수를 호출합니다. 그러면 디스펜서 관리자의 IDispenserManager 인터페이스에 대한 포인터가 반환됩니다.

  5. IDispenserManager::RegisterDispenser를 호출하여 IDispenserDriver 구현에 대한 포인터를 전달합니다. 이렇게 하면 디스펜서 관리자가 리소스 디스펜서에 대한 홀더(풀링 관리자)를 만든 다음 , IHolder 인터페이스에 대한 포인터를 반환합니다.

  6. IHolder::AllocResource 및 IHolder::FreeResource를 호출할 수 있도록 이 포인터 저장합니다.

  7. 이제 API 호출에 대한 응답으로 AllocResourceFreeResource를 호출할 수 있습니다. AllocResource는 처음에 CreateResource 메서드로 다시 호출하여 응답하지만 나중에 AllocResource 호출은 증가하는 리소스 풀에서 서비스됩니다.

COM+ 리소스 디스펜서 개념

COM+ 리소스 디스펜서 인터페이스