Re: Newbie: Client calling a server but what CLSID

Tech-Archive recommends: Fix windows errors by optimizing your registry



Thanks for your time Igor,
Didn't see that beepServer.h was being generated in the folder but it
doesn't appear in the project. (Maybe because it is to be used by client
programs).
The only values that seem to be relevant from beepServer.h are:
class DECLSPEC_UUID("E3829EAD-F1BC-4ECF-B14B-687D3EC2A63D") BeepObj;
Which is the CLSID, but that file doesn't seem to have the IID in it. Does
that mean that you don't have to request a specific interface if your COM
object only has one?
If true, then do I just need to include this file in my client app and not
worry about looking up the values?

Sorry for all the questions.

"Igor Tandetnik" <itandetnik@xxxxxxxx> wrote in message
news:eJ9aOMEdIHA.4880@xxxxxxxxxxxxxxxxxxxxxxx
"Darwin" <darwin@xxxxxxxxxxx> wrote in message
news:%23JxDZGEdIHA.5984@xxxxxxxxxxxxxxxxxxxx
The idl has:
import "oaidl.idl";
import "ocidl.idl";
[
object,
uuid(B5E4CC5E-A568-4776-BE59-C61ABD07F7D9),

This is the IID

dual,
helpstring("IBeepObj Interface"),
pointer_default(unique)
]
interface IBeepObj : IDispatch
{
[id(1), helpstring("method Beep")] HRESULT Beep([in] long lDuration);
};

[
uuid(C98F127F-2DFD-41D3-98F5-17AE5F4825FB),

This is the LIBID (ID of a type library)

version(1.0),
helpstring("BeepServer 1.0 Type Library")
]
library BEEPSERVERLib
{
importlib("stdole32.tlb");
importlib("stdole2.tlb");

[
uuid(E3829EAD-F1BC-4ECF-B14B-687D3EC2A63D),

This is CLSID

helpstring("BeepObj Class")
]
coclass BeepObj
{
[default] interface IBeepObj;
};
};

Assuming the last ID is the CLSID is it simply:
const CLSID CLSID_BeepObj =
{0xE3829EAD,0xF1BC,0x4ECF,{0x68,0x7D,0x3E,0xC2,0xA6,0x3D}};

Have you considered the last part of my message, and looked at the
generated .h file?
--
With best wishes,
Igor Tandetnik

With sufficient thrust, pigs fly just fine. However, this is not
necessarily a good idea. It is hard to be sure where they are going to
land, and it could be dangerous sitting under them as they fly
overhead. -- RFC 1925



.



Relevant Pages

  • Re: MULTI_QI
    ... any COM providing only CLSID. ... How to query pointer to MULTI_QI for returned interfaces names? ... >> interface IID ... >> Otherwise client need to know also IID besides CLSID, ...
    (microsoft.public.vc.atl)
  • Re: Newbie: Client calling a server but what CLSID
    ... I want to call that object from a client. ... question is where do I get the CLSID and the IID from? ... Look at the IDL file in your server project, ...
    (microsoft.public.vc.atl)
  • Re: CoClass and ATL7 attributes
    ... > interface, and multiple implementations of that interface (say, a ... > libraries and never have to update the client source). ... Changing a TLB later to give the same coclass name to a different CLSID ... can indeed switch components and have the ProgID point to the right one. ...
    (microsoft.public.vc.atl)
  • Re: One Client, Many Servers
    ... Essentially, you designate a CLSID ... what I want to do is get the simulators to register under the ... > in the VB client everytime I need to switch simulators. ... >>> interfaces in such a way that the client application will not know ...
    (microsoft.public.vc.atl)
  • Re: Detect installed version of activex control
    ... Unfortunately we cannot assume that our client give ... Kind regards, ... If you have a CLSID, ... The ActiveX does not seem to expose a method to detect its version. ...
    (microsoft.public.scripting.vbscript)