通知(设置 API)

通知是安装程序函数发送到回调例程以指定状态或事件的值。 Param1Param2两个参数随通知一起发送,并包含与通知相关的其他信息。

回调例程处理通知并将无符号整数返回到安装函数。 根据设置函数,可以使用此值指定作或用户选择,也可以忽略它。

安装程序函数使用以下语法将通知发送到回调例程。

MsgHandler(          //the specified callback routine
    Context,         //context used by the callback routine
    Notification,    //notification code
    Param1,          //additional notification information
    Param2           //additional notification information
);

Context 参数是指向上下文变量或结构的 void 指针,回调例程可用于存储在对回调例程的后续调用之间必须保留的信息。

由于回调例程指定上下文的实现,并且它永远不会被设置函数引用或更改,所以上下文不会记录在以下通知消息的参考材料中。

Notification 参数为导致安装函数调用回调例程的事件或状态指定无符号整数值。

Param1Param2 是可选参数,可以包含与通知相关的其他信息。 这些参数是无符号整数。 如果 Param1Param2 返回非无符号整数的信息,则会将其转换为无符号整数,并且必须重新转换为其原始数据类型,然后才能由回调例程使用。

注意

以下通知表示安装函数使用的每个通知。 单个函数使用这些通知的子集。 换句话说,不是每个函数都使用每个通知。

 

设置函数使用以下通知。

通知 描述
SPFILENOTIFY_COPYERROR 文件复制作期间发生错误。
SPFILENOTIFY_DELETEERROR 文件删除作期间发生错误。
SPFILENOTIFY_ENDCOPY 文件复制作已结束。
SPFILENOTIFY_ENDDELETE 文件删除作已结束。
SPFILENOTIFY_ENDQUEUE 队列已完成提交。
SPFILENOTIFY_ENDREGISTRATION 文件的注册或注销已完成。
SPFILENOTIFY_ENDRENAME 文件重命名作已结束。
SPFILENOTIFY_ENDSUBQUEUE 子队列(复制、重命名或删除)已结束。
SPFILENOTIFY_FILEEXTRACTED 文件已从内阁中提取。
SPFILENOTIFY_FILEINCABINET 在内阁中遇到文件。
SPFILENOTIFY_FILEOPDELAYED 该文件正在使用中,当前作已延迟,直到系统重新启动。
SPFILENOTIFY_LANGMISMATCH 当前作的语言与系统语言不匹配。
SPFILENOTIFY_NEEDMEDIA 需要新的源媒体。
SPFILENOTIFY_NEEDNEWCABINET 当前文件在下一个内阁中继续。
SPFILENOTIFY_QUEUESCAN 已扫描文件队列中的节点。
SPFILENOTIFY_QUEUESCAN_EX 已扫描文件队列中的节点。
SPFILENOTIFY_QUEUESCAN_SIGNERINFO 已扫描文件队列中的节点。
SPFILENOTIFY_RENAMEERROR 文件重命名作期间发生错误。
SPFILENOTIFY_STARTCOPY 文件复制作已启动。
SPFILENOTIFY_STARTDELETE 文件删除作已开始。
SPFILENOTIFY_STARTQUEUE 队列已开始提交。
SPFILENOTIFY_STARTREGISTRATION 文件的注册或注销已开始。
SPFILENOTIFY_STARTRENAME 文件重命名作已开始。
SPFILENOTIFY_STARTSUBQUEUE 子队列(复制、重命名或删除)已开始。
SPFILENOTIFY_TARGETEXISTS 目标上已存在指定文件的副本。
SPFILENOTIFY_TARGETNEWER 目标上存在指定文件的较新版本。