Implementando um distribuidor de recursos COM+

As etapas a seguir descrevem um procedimento geral para implementar um distribuidor de recursos COM+:

  1. Decida sobre o formato RESTYPID que categoriza como seus recursos diferem uns dos outros.

  2. Use o arquivo e a biblioteca de cabeçalho Mtxdm.h e Mtxdm.lib, respectivamente.

  3. Crie uma DLL que implemente a interface IDispenserDriver e a API que você deseja expor aos aplicativos.

  4. Na inicialização (DllMain ou primeira chamada para a API do distribuidor), chame a função GetDispenserManager . Isso retorna um ponteiro para a interface IDispenserManager do gerenciador de distribuidores.

  5. Chame IDispenserManager::RegisterDispenser, passando um ponteiro para a implementação do IDispenserDriver. Isso faz com que o gerenciador de distribuidores crie um titular (gerenciador de pools) para o distribuidor de recursos e, em seguida, retorne o ponteiro para a interface do IHolder .

  6. Armazene esse ponteiro para que você possa chamar IHolder::AllocResource e IHolder::FreeResource.

  7. Agora você pode (em resposta a chamadas à sua API) fazer chamadas para AllocResource e FreeResource. AllocResource responde inicialmente chamando de volta para seu método CreateResource , mas chamadas allocResource posteriores são atendidas do pool crescente de recursos.

Conceitos do Dispensador de Recursos COM+

Interfaces do Distribuidor de Recursos COM+