Implementación de un dispensador de recursos COM+

En los pasos siguientes se describe un procedimiento general para implementar un dispensador de recursos COM+:

  1. Decida el formato RESTYPID que clasifique cómo difieren los recursos entre sí.

  2. Use el archivo de encabezado Mtxdm.h y Mtxdm.lib y la biblioteca, respectivamente.

  3. Compile un archivo DLL que implemente la interfaz IDispenserDriver y la API que desea exponer a las aplicaciones.

  4. En el inicio (DllMain o la primera llamada a la API del dispensador), llame a la función GetDispenserManager . Esto devuelve un puntero a la interfaz IDispenserManager del administrador del dispensador.

  5. Llame a IDispenserManager::RegisterDispenser y pase un puntero a la implementación de IDispenserDriver. Esto hace que el administrador del dispensador cree un titular (administrador de agrupación) para el dispensador de recursos y, a continuación, devuelva el puntero a la interfaz IHolder .

  6. Almacene este puntero para que pueda llamar a IHolder::AllocResource e IHolder::FreeResource.

  7. Ahora puede (en respuesta a las llamadas a la API) realizar llamadas a AllocResource y FreeResource. AllocResource responde inicialmente llamando al método CreateResource , pero las llamadas AllocResource posteriores se atenden desde el grupo creciente de recursos.

Conceptos del dispensador de recursos COM+

Interfaces de dispensador de recursos COM+