0

I want to implement a Namespace Extension and custom column filtering.

WindowsExplorerColumnCategory

I tried to run this sample from Windows SDK 7.1, in Windows 11:

ExplorerDataProvider

This sample implements a Shell Namespace Extension including custom categorizers.

I made some changes to fix the missing IID_IItemCategorizer and an Access Violation when LoadString() is called.

I debugged the code of Category.cpp and I realized that all expected functions are not being called.

The functions should be run in below sequence:

  1. CFolderViewImplCategoryProvider::GetCategoryForSCID
  2. CFolderViewImplCategoryProvider::CreateCategory
  3. CFolderViewImplCategorizer_Name::GetCategory
  4. CFolderViewImplCategorizer_Name::GetCategoryInfo

But, after successfully running the first 3 functions, GetCategoryInfo() is not being called.

Is it because of Windows 11? Is the SDK not updated? Or did I make a mistake? How can I fix this?

Remy Lebeau
  • 555,201
  • 31
  • 458
  • 770
Dave
  • 1
  • Did you register the DLL as indicated in the readme? `Type "regsvr32.exe ExplorerDataProvider.dll" at the command line. If you run this command from an elevated command prompt, the self-registration will also register the .propdesc file automatically. If it is run from a non-elevated command prompt then the namespace extension will still work but without custom property functionality.` – Retired Ninja Jul 06 '22 at 17:07
  • @RetiredNinja Yes. The Extension works, except for this part. – Dave Jul 06 '22 at 18:05
  • Did you try running it on Windows 10 (perhaps in a VM) to see if it works there? – Paul Sanders Jul 06 '22 at 18:33
  • @RemyLebeau Do you have expected definition for IID_IItemCategorizer? can you share it? – Woodman Apr 04 '23 at 11:41

0 Answers0