Some time ago, I displayed in tabular form the difference between UuidToString StringFromCLSID, StringFromIID, StringFromGUID2. But the entries for StringFromCLSID and StringFromIID 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 IIDFromString and CLSIDFromString, which do behave differently, because CLSIDFromString 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.