I tested with "This PC" CLSID and it worked, with
SHILCreateFromPath and "shell:::{20D04FE0-3AEA-1069-A2D8-08002B30309D}" to get the pidl
then
SHGetFileInfo with SHGFI_PIDL flag
[DllImport("Shell32.dll", SetLastError = true, CharSet = CharSet.Unicode)]
public static extern HRESULT SHILCreateFromPath([MarshalAs(UnmanagedType.LPWStr)] string pszPath, out IntPtr ppIdl, ref uint rgflnOut);
I also tested with SHGetImageList to get bigger icons...