COM Programming - List of IID and CLSID values

Developed or developing a new product in PureBasic? Tell the world about it.
freak
PureBasic Team
PureBasic Team
Posts: 5940
Joined: Fri Apr 25, 2003 5:21 pm
Location: Germany

COM Programming - List of IID and CLSID values

Post by freak »

This was on my disk for some time, so i have to finally release it.

When coding with the Windows COM (Component Object Model) you often
need IID or CLSID values to identify an Interface or a Class.
Until now you had to search for these values in the C header files, and
convert them to PureBasic yourself.

As this is sometimes not that simple, and not very easy for many people to
do, i have now extracted them all into a list and put them together with
a little viewer tool to make searching easy.

Included are IID, CLSID, LIBID and GUID values from the Microsoft Platform SDK and
DirectX 9 SDK header files.

The viewer creates the PB datasection code that you can paste into your PB project,
and then access the 128bit GUID values simply through a label pointer.

You can get the tool (including source) on my page here:
http://freak.purearea.net/tools/

I also plan to write another tutorial on COM programming, but i do not
really know when i will find the time for that.

Anyway, i hope this tool will make it a litttle easier for those that allready
took the dive into COM :)

btw, if you add this as an external tool to the new IDE, include the %WORD
token for the commandline, and it will search for the GUID value under
the cursor when you open the tool.
quidquid Latine dictum sit altum videtur
User avatar
Kiffi
Addict
Addict
Posts: 1484
Joined: Tue Mar 02, 2004 1:20 pm
Location: Amphibios 9

Post by Kiffi »

Hello freak,

thank you for this useful tool!

Greetings ... Kiffi

P.S.: Is there any reason, why you don't post this Announcement in the german forum?
User avatar
Droopy
Enthusiast
Enthusiast
Posts: 658
Joined: Thu Sep 16, 2004 9:50 pm
Location: France
Contact:

Post by Droopy »

Thanks a lot :D

I'm waiting for the tutorial
freak
PureBasic Team
PureBasic Team
Posts: 5940
Joined: Fri Apr 25, 2003 5:21 pm
Location: Germany

Post by freak »

Kiffi wrote:P.S.: Is there any reason, why you don't post this Announcement in the german forum?
Look at the posting time.. i was about to fall asleep :D
quidquid Latine dictum sit altum videtur
Dare2
Moderator
Moderator
Posts: 3321
Joined: Sat Dec 27, 2003 3:55 am
Location: Great Southern Land

Post by Dare2 »

freak wrote:Look at the posting time.. i was about to fall asleep :D
Careful or we will start to think you're a mere mortal. :)

Thanks for this.
@}--`--,-- A rose by any other name ..
Kale
PureBasic Expert
PureBasic Expert
Posts: 3000
Joined: Fri Apr 25, 2003 6:03 pm
Location: Lincoln, UK
Contact:

Post by Kale »

Simply Awesome Timo!!! Saves alot of time!! :shock: :D :D
--Kale

Image
sigi
User
User
Posts: 79
Joined: Fri Apr 25, 2003 7:16 pm
Location: Germany

Post by sigi »

A Tutorial would be great :)
Athlon X2 7850 - Geforce 8800 GTS 640mb - 8 GB Ram - Vista Home Premium 64 bit SP2
Heis Spiter
User
User
Posts: 41
Joined: Fri Aug 22, 2003 7:10 pm
Location: 76 (FRANCE)
Contact:

Post by Heis Spiter »

It's a nice tool, but a class is absent (CLSID) : IOleObject.
Moreover this class isn't in PureBasic. For people who wants to use it

Code: Select all

Interface IOleObject
	QueryInterface(a,b)
	AddRef()
	Release()
	SetClientSite(a)
	GetClientSite(a)
	SetHostNames(a,b)
	Close(a)
	SetMoniker(a,b)
	GetMoniker(a,b,c)
	InitFromData(a,b,c)
	GetClipboardData(a,b)
	DoVerb(a,b,c,d)
	EnumVerbs(a)
	Update()
	IsUpToDate()
	GetUserClassID(a)
	GetUserType(a,b)
	SetExtent(a,b)
	GetExtent(a,b)
	Advise(a,b)
	Unadvise(a)
	EnumAdvise(a)
	GetMiscStatus(a,b)
	SetColorScheme(a)
EndInterface
Post Reply