Implementando um dispensador de recursos COM+

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

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

  2. Use a biblioteca e o arquivo 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 primeiro chamada para a API do dispensador), chame a função GetDispenserManager . Isso retorna um ponteiro para a interface IDispenserManager do Gerenciador do dispensador.

  5. Chame IDispenserManager:: RegisterDispenser, passando um ponteiro para a implementação de IDispenserDriver. Isso faz com que o Gerenciador do dispensador crie um detentor (Gerenciador de pooling) para o dispensador de recursos e, em seguida, retorne o ponteiro para a interface IHolder .

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

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

Conceitos do dispensador de recursos COM+

Interfaces do dispensador de recursos COM+