I can't find the official documentation that says you can call these functions without initializing COM, but I can take you on the way down the memory strip for some nice observations.
Windows 95 4 , Explorer ole32.dll. , - COM, , , SH *, Co *, COM/OLE.
, mini-COM 100% Windows XP , , , -COM.
, , Windows 2000 IShellFolder2 (GetDetailsEx) VARIANT. VARIANT BSTR! IColumnProvider:: GetItemData VARIANT.
, Windows 2000 BSTR CoInitialize, SHGetDesktopFolder IShellFolder , .
, , :
- Windows 2000 -COM?
- IShellFolder2 shell32.dll COM, ?
, IShellFolder2 IColumnProvider , Explorer ( ?), , COM.
, , , - Windows 2000.