Implementación de un dispensador de recursos COM+
En los pasos siguientes se describe un procedimiento general para implementar un dispensador de recursos COM+:
Decida el formato RESTYPID que clasifique cómo difieren los recursos entre sí.
Use el archivo de encabezado Mtxdm.h y Mtxdm.lib y la biblioteca, respectivamente.
Compile un archivo DLL que implemente la interfaz IDispenserDriver y la API que desea exponer a las aplicaciones.
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.
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 .
Almacene este puntero para que pueda llamar a IHolder::AllocResource e IHolder::FreeResource.
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.
Temas relacionados
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de