All IISADMIN Extensions must support an in process interface which supports IADMEXT. IISADMIN Extensions can also start up LocalService DCOM interfaces during their startup, in which case enumerating the CLSIDs for the DCOM interfaces must be possible. IISADMIN, at startup, will store the CLSIDs in the Metabase. Components with access to the metabase can read the CLSIDs from the registry and call QueryInterface on them to determine if they support known interfaces. Currently Replication and WAM use this facility.
You can register the CLSIDs associated with your custom DCOM interfaces with IIS by creating an in-process COM object that exposes the IADMEXT interface. The IISADMIN service calls your interface methods and collects your CLSIDs, then stores them in the metabase where they will be available until IISADMIN terminates IIS services.
It is important that you do not register these types of in-process COM interfaces. In process COM interfaces have no need to be IISADMIN extensions. If registered, they cannot be queried by replication and other components which try to instantiate these interfaces from another machine. The DCOM CLSIDs stored in the metabase can be enumerated and called from other computers, but CLSIDs stored in the registry cannot.
Note You can find iadmext.h and other relevant header files at \Inetpub\IISSamples\SDK\Include.