Re: Using same interfaces for in-proc vs. out-proc





"Igor Tandetnik" <itandetnik@xxxxxxxx> wrote in message
news:uqWu%23fmXKHA.4588@xxxxxxxxxxxxxxxxxxxxxxx
Drew <dam@xxxxxxx> wrote:
That's my point. The EXE and DLL would have different LIBIDs in their
typelib. One for the EXE one for the DLL.

Why? They describe the same interfaces with the same IIDs, right? Why do you
want different LIBIDs?
---------
So that they can both be registered at the same time. Otherwise, how do you
distinguish between a reference to the EXE and a reference to the DLL?
Suppose one VBA user wants to use the EXE andd one wants to use the DLL. How
do they reference them if their LIBIDs are the same?
---------

My concern is the interfaces
defined in the typelib and how they reference the LIBID. In this
scenario would I be able to have both EXE and DLL registered at the
same time?

Yes. But, again, you'll have a problem if the one that was registered last
is uninstalled first, because it'll remove marshalling support for your
interfaces from the registry.

-------------
That's my concern. Having unique LIBIDs isn't enough to support the idea
that's being proposed.
-------------

How would the non-unique IID interfaces resolve which
server they referred to?

IIDs do not refer to a server: after all, thousands of servers implement
IUnknown or IDispatch. IIDs (often) refer to a LIBID, with the type library
providing marshalling support. Now, you are attempting to tie a LIBID to a
server: your problems stem from that.

-------------
Maybe when I referred to server I should have said LIBID that referred to
the COM server. Am I mistaken that the LIBID *is* tied to the server? I mean
from a VBA client point of view, they need to add a reference to a server
that is looked up using the LIBID, right?
-------------

Thanks,
Drew


.



Relevant Pages

  • Re: Using same interfaces for in-proc vs. out-proc
    ... But doesn't the LIBID, the one provided to the IDispatchImplhave ... to be unique to determine whether to invoke the EXE or the DLL ... typedef IEnumVARIANT EnumeratorInterface; ...
    (microsoft.public.vc.atl)
  • Re: Using same interfaces for in-proc vs. out-proc
    ... Both the EXE and DLL have their respective typlib bound as a resource ... Also LIBID and all UDTs and interface/coclass GUIDs are different. ... different type libraries (whether with different LIBIDs, ...
    (microsoft.public.vc.atl)
  • Re: Using same interfaces for in-proc vs. out-proc
    ... for each server) might work better after all. ... TLB,>you reference it in VB and gain access to all ... both EXE and DLL versions must use the same source code; ...
    (microsoft.public.vc.atl)
  • Re: DShowNET - create instance of Clsid.FilterGraph fails?
    ... I don't know how much you know about COM, but a CLSID is usually associated ... with a DLL or exe which acts as a COM server once it is called properly. ... This DLL or exe is installed on your machine (unless you are using DCOM, ...
    (microsoft.public.win32.programmer.directx.managed)
  • Re: Using same interfaces for in-proc vs. out-proc
    ... somehow reference the LIBID in such way that having both EXE and DLL ... An interface can only refer to one LIBID at a time. ...
    (microsoft.public.vc.atl)