Re: I have a COM object installed on my machine...




"WTH" <spamsucks@xxxxxxxxx> wrote in message
news:e4DlOTnhFHA.708@xxxxxxxxxxxxxxxxxxxxxxx
> ...from 3rd party developers.
>
> This COM object is written to use the STA.
>
> I wanted to pass an interface pointer (IMyInterface* for example) to a
> worker thread, so I went to call CoMarshalInterThreadInterfaceInStream(
> IID_IMyInterface, ... ) and the HRESULT was "interface not registered",
this
> made me think that the COM object was missing proxy code or there was a
> registration issue, so I looked online for this.
>
> I asked the guys who build the COM object where the proxy/stub code was
and
> they said the build a separate DLL for that, and that they don't install
it
> when because nobody has ever used their COM object between two threads.
> Now, they let me look at their COM object's IDL file and in that IDL file
is
> only defined one interface (IMyOtherInterface for example) and they tell
me
> that the COM object class itself, of course, implements that interface and
> also inherits IMyInterface (which is not mentioned in the IDL for the COM
> object but is from an IDL project they have elsewhere.)
>
> Now, my concern is that when they give me the proxy/stub code, and I try
to
> get IMyInterface pointer to marshall, will the IID_IMyInterface be defined
> in the proxy/stub DLL?

I suppose it is defined insofar that if you call
IMyInterface::QueryInterface(IID_IMyInterface...) it knows what to do.

>
> They won't change the way they build the DLL(s), but they will change the
> way they deploy the COM object.
> What should I be telling them I need?

Well, do you want to install it manually using regsvr32? Or do you want it
deployed centrally using Group Policy or SMS? Perhaps I misunderstand what
you mean by "deployed". All I would want is the proxy-stub DLL so I can
install it manually.

>
> I presume that HKCR\Interface will have to have the GUID for IMyInterface
> somewhere, correct?

Yes. Registering the proxy-stub will do this.

Brian


.



Relevant Pages

  • I have a COM object installed on my machine...
    ... I wanted to pass an interface pointer to a ... they let me look at their COM object's IDL file and in that IDL file is ... only defined one interface and they tell me ... also inherits IMyInterface (which is not mentioned in the IDL for the COM ...
    (microsoft.public.vc.atl)
  • Re: Why not multiple inheritance in C# and java
    ... "mirror" of the innards of the business objects. ... Windows control type, and that offends me. ... > You can mimic MI by delegating your interface to a class implementing the ... > IMyInterface GetMyInterface() ...
    (microsoft.public.dotnet.languages.csharp)
  • DLL2 should implement interface defined in DLL1 - how?
    ... implements that interface, too. ... interface IMyInterface; ... class ATL_NO_VTABLE CMyOtherInterface: ... and the stub compiler - rightfully - ...
    (microsoft.public.vc.atl)
  • Interface delegates and implements
    ... I am trying to extend a set of GUI components with a set of common data ... define an interface with new properties in it, ... TMyDelegate = class(TComponent, IMyInterface) ...
    (borland.public.delphi.language.objectpascal)
  • Re: casting ....static_castInterfacePointer
    ... be an instance of CMyClass behind IMyInterface pointer - not in another ... >> IDL file, never compile it into a type library, never tell anybody ... Somebody can reverse-engineer your program, discover that you expose ...
    (microsoft.public.vc.atl)