Some time ago, I displayed in tabular form the difference between UuidÂToÂString
StringÂFromÂCLSID
, StringÂFromÂIID
, StringÂFromÂGUID2
. But the entries for StringÂFromÂCLSID
and StringÂFromÂIID
are identical. So what’s the difference between those two?
There’s no difference. The two functions are functionally identical.
So why have two functions that do the same thing?
Probably just to provide counterparts to their buddies IIDÂFromÂString
and CLSIDÂFromÂString
, which do behave differently, because CLSIDÂFromÂString
also supports ProgIds.
They both live in the same .lib too
Probably one is an alias or a wrapper of the other. In that case you could say that not only that they behave the same, but that they are the same function.
In any case, you should call the correct only, if only for code legibility. Unless you are writing an entry for the Obfuscated C Contest or something like that…
Yeah, the day i learned that
not only succeeds, but returns a valid CLSID
was surreal.