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.