Expand description
§CompareIDs()
IShellFolder::CompareIDs (shobjidl_core.h)
In Explorer of Windows 11 24H2, CompareIDs() is called through:
windows.storage.dll!DVCompareColumns+0x1d7
windows.storage.dll!_DSA_MergeSort2+0x15e
windows.storage.dll!_DSA_MergeSort2+0x54
windows.storage.dll!_DSA_MergeSort2+0x54
windows.storage.dll!_DSA_MergeSort2+0x66
windows.storage.dll!_DSA_MergeSort+0x69
windows.storage.dll!DSA_Sort+0x4f
windows.storage.dll!CSortTask::InternalResumeRT+0xc0
windows.storage.dll!CRunnableTask::Run+0xb6
windows.storage.dll!CShellTaskThread::ThreadProc+0x2ca
windows.storage.dll!CShellTaskThread::s_ThreadProc+0x15e
SHCore.dll!ExecuteWorkItemThreadProc+0x15On a different thread than IPropertyStore::GetValue() is called,
and may be different for each sort for the same Explorer window.
Different PIDLs of the same file system path may be passed in rare cases.
If CompareIDs() returns error, Explorer will fall back to compare ItemNameDisplay
instead when comparing other properties, including folder size.
Inconsistent ordering may cause buggy results, like the column order is sometimes correct but sometimes wrong.
§Implementations
§CFSFolder
Interfaces (on Windows 11 24H2):
000214e6_0000_0000_c000_000000000046ShellFolderb3a4b685_b685_4805_99d9_5dead2873236ParentAndItem93f2f68c_1d1b_11d3_a30e_00c04f79abd1ShellFolder2cef04fdf_fe72_11d2_87a5_00c04f6837cfPersistFolder30000010c_0000_0000_c000_000000000046Persist000214ea_0000_0000_c000_000000000046PersistFolder1ac3d9f0_175c_11d1_95be_00609797ea4fPersistFolder2000214e5_0000_0000_c000_000000000046ShellIconadd8ba80_002b_11d0_8f0f_00c04fd7d062DelegateFolder321a6a6a_d61f_4bf3_97ae_14be2986bb36ObjectWithBackReferences7d688a70_c613_11d0_999b_00c04fd655e1ShellIconOverlay37d84f60_42cb_11ce_8135_00aa004bb851PersistPropertyBag0000000b_0000_0000_c000_000000000046Storage1df0d7f1_b267_4d28_8b10_12e23202a5c4ItemNameLimits3409e930_5a39_11d1_83fa_00a0c90dc849ContextMenuCBb722bccb_4e68_101b_a2bc_00aa00404770OleCommandTargeta6087428_3be3_4d73_b308_7c04a540bf1aObjectProviderfc4801a3_2ba9_11cf_a229_00aa003d7352ObjectWithSite000214fe_0000_0000_c000_000000000046RemoteComputere35b4b2e_00da_4bc1_9f13_38bc11f5d417ThumbnailHandlerFactorye07010ec_bc17_44c0_97b0_46c7c95b9edcExplorerPaneVisibilitye9701183_e6b3_4ff2_8568_813615fec7beNameSpaceTreeControlFolderCapabilitiesc938b119_d3ad_4d02_b5ee_164c2ec8160efdbee76e_f12b_408e_93ab_9be8521000d92536f9ac_2876_408a_9adf_1fe1c14c0e7f089f3011_bb5c_4f9c_9b8f_9a67ed446e9108727c66_4a04_456d_8c9a_cc1f6549075376347b91_9846_4ce7_9a57_69b910d161230681c275_472b_4097_97b3_f19e4875fdc9124bae2c_cb94_42cd_b5b8_4358789684efff314a1e_06fa_4f3a_84be_7aa1c6be247047d9e2b2_cbb3_4fe3_a925_f49978685982053b4a86_0dc9_40a3_b7ed_bc6a2e951f483f943012_447b_4109_8b74_720106853c96c51e78b5_566b_4cb0_b6ed_784e18797e23dc0ac42a_141e_4876_9c43_824829440de0be9da82b_cc54_4b19_8c22_ad7762ff29eb013c437f_d523_41fa_8beb_f5100e1ca41c127f6acb_7e78_4368_83a4_ed1de72baca6d960050c_f4e1_4294_ac4b_598913605923
Structs§
- CompareI
Ds - IShellFolder::CompareIDs (shobjidl_core.h)
- CompareI
DsBuilder - Use builder syntax to set the inputs and finish with
build().