none
Shell Extension 中消息 SFVM_BACKGROUNDENUM 怎样才能有效? RRS feed

  • 问题

  • 实现了IShellFolderViewCB 并用 SHCreateShellFolderView 创建默认 IShellView,

     

    MessageSFVCB 中能收到 SFVM_BACKGROUNDENUM 并返回 S_OK

     

    但 IShellFolder 的 EnumObjects 却没有在后台线程里被调用,那个动画也没有出现,应该怎么做才能实现后台EnumObjects 而不阻塞主线程?

    2009年1月24日 7:17

答案

  • 由于自己理解上的出现偏差,才提出这个问题,后来看到了一段英文说明才恍然大悟

    //  WARNING!  If we return S_OK from DVM_BACKGROUNDENUM, we also
    //  are promising that we support free threading on our IEnumIDList
    //  interface!  This allows the shell to do enumeration on our
    //  IEnumIDList on a separate background thread.

    本来以为是等待IEnumIDList创建,才发现是等待IEnumIDList接口的返回。理解错了,呵呵。。。

    2009年2月1日 6:56