SFVM_GETNOTIFY消息

发送到视图回调对象的通知,以指定应为更改通知事件注册的位置和事件。 注册后,当这些位置或事件发生更改时,将通知视图回调对象。 这些事件通过 SFVM_FSNOTIFY 发送到视图回调,然后由视图处理。

SFVM_GETNOTIFY 

    wParam = (WPARAM)(LPITEMIDLIST*) pidl;

    lParam = (LPARAM)(LONG*) lEvents;

            

parameters

pidl [out]

指向视图应注册的项的绝对 IDList 的指针,以便收到更改通知。 通常,这与正在查看的位置的 IDList 相同,但它可以是另一个位置。

重要

此值的生存期由视图回调对象拥有。 视图回调对象负责创建此值,然后在不再需要此值时释放此值。 这要求视图回调对象存储此值。 通常,该值可以存储在视图回调对象的 _pidlMonitor 成员中。 通过 pidl 返回的值的所有权规则是非标准的,需要特别注意。 视图回调对象必须拥有此值,并确保在销毁视图回调对象本身之前不会释放该值。

 

lEvents [out]

一个包含一个或多个 SHCNE 值的值。 有关可能值的列表,请参阅 SHChangeNotify 。 视图回调对象将注册为在发生任何关联事件时接收 SFVM_FSNOTIFY 消息。

返回值

已忽略,但应返回S_OK。

备注

如果此回调消息没有为 IDList 或事件掩码返回非零值,则视图将不会注册更改通知。

示例

下面的示例演示SFVM_GETNOTIFY的视图回调函数处理程序代码的示例实现。

case SFVM_GETNOTIFY:
  *((LPITEMIDLIST*)wParam) = _pidl;    // Pass a reference whose lifetime this 
                                       // class is responsible for.
                                      
  *((LONG*)lParam) = SHCNE_DISKEVENTS; // A combination of all of the 
                                       // disk event identifiers.
                                       
   return S_OK;

要求

要求
最低受支持的客户端
Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器
Windows 2000 Server [仅限桌面应用]
标头
Shlobj.h

另请参阅

SFVM_QUERYFSNOTIFY

IShellFolderViewCB::MessageSFVCB