Dll 是可以做Iproc Server的, 不过做起来不是很容易的
注册的时候除了CLSID以外还必须有一个AppID, 远程的机器是通过下列方法启动它的:
1. If the AppID has a LocalService named value, COM uses the
OpenSCManager/StartService APIs to start the server.
2. If the CLSID has a LocalServer32 entry, COM starts the designated
process using CreateProcess or CreateProcessAsUser.
3. If the AppID's DllSurrogate named value is present yet empty, a
system-provided surrogate process (dllhost.exe) is started.
4. If the AppID's DllSurrogate named value is present and contains a
file name, the designated custom surrogate is started.
5. If the AppID's RemoteServerName named value is present, the
request is forwarded to the SCM on the designated host.