To take advantage of IIS custom extensions, your program must register itself as an in-process COM interface, and you must place a subkey named by its CLSID in the registry under the key specified by IISADMIN_EXTENSIONS_REG_KEY. IISADMIN will co-create the interface and call your Initialize and EnumDcomCLSIDs methods when the service starts, and your Terminate method when the service terminates. Your program provides DCOM CLSIDs that IISADMIN registers and stores in a list in a metabase property where they are available until IISADMIN terminates IIS services.
The thread on which these are called is initialized as COINIT_MULTITHREADED. The IIS Admin Base Object interface, IMSAdminBase, will be available during these calls to provide access to the IIS Metabase.