LSA_REGISTER_NOTIFICATION回调函数 (ntsecpkg.h)

提供一种机制,用于通知 安全包 。 通知可以固定的时间间隔发生,当事件对象收到信号时,或在某些系统事件期间发生。

语法

LSA_REGISTER_NOTIFICATION LsaRegisterNotification;

HANDLE LsaRegisterNotification(
  [in] SEC_THREAD_START StartFunction,
  [in] PVOID Parameter,
  [in] ULONG NotificationType,
  [in] ULONG NotificationClass,
  [in] ULONG NotificationFlags,
  [in] ULONG IntervalMinutes,
  [in] HANDLE WaitEvent
)
{...}

参数

[in] StartFunction

调用以接受通知的函数。

[in] Parameter

StartFunction 参数中指定的函数的参数。

[in] NotificationType

指定通知的类型。 下表列出了有效值。

含义
NOTIFIER_TYPE_INTERVAL
以固定间隔通知。 使用 IntervalMinutes 参数指示间隔长度。
NOTIFIER_TYPE_HANDLE_WAIT
WaitEvent 参数指定的事件句柄发出信号时发出通知。
NOTIFIER_TYPE_STATE_CHANGE
当计算机的域或安装类型发生更改时发出通知。
NOTIFIER_TYPE_NOTIFY_EVENT
发生安全事件时发出通知。 使用 NotificationClass 参数指定感兴趣的事件。
NOTIFIER_TYPE_IMMEDIATE
立即通知。 此值表示NOTIFIER_FLAG_ONE_SHOT。

[in] NotificationClass

指定生成通知的事件类。 指定零,除非 NotificationType 参数设置为NOTIFIER_TYPE_NOTIFY_EVENT。

含义
NOTIFY_CLASS_PACKAGE_CHANGE
已加载包,或已选择新包作为首选包。 有关详细信息,请参阅“备注”。
NOTIFY_CLASS_ROLE_CHANGE
保留以供内部使用。
NOTIFY_CLASS_DOMAIN_CHANGE
保留以供内部使用。

[in] NotificationFlags

指定控制通知行为的标志。

含义
NOTIFIER_FLAG_NEW_THREAD
使用新线程等待通知。
NOTIFIER_FLAG_ONE_SHOT
仅通知一次。
NOTIFIER_FLAG_SECONDS
IntervalMinutes 参数指定秒。

[in] IntervalMinutes

指定通知之间的时间延迟。

[in] WaitEvent

可选。 事件对象的句柄。 当对象收到信号时,将发出通知。 此值与 NotificationType 值NOTIFIER_TYPE_HANDLE_WAIT结合使用。

返回值

如果函数成功,则返回值是通知的句柄。

如果函数失败,则返回值为 NULL。

注解

如果为 NotificationClass 参数指定NOTIFY_CLASS_PACKAGE_CHANGE值,则以下值表示有效的更改。

说明
SECPKG_PACKAGE_CHANGE_LOAD 已加载包。
SECPKG_PACKAGE_CHANGE_UNLOAD 已卸载包。
SECPKG_PACKAGE_CHANGE_SELECT 新包成为首选 的安全包
 

在 SpInitialize 函数接收的 LSA_SECPKG_FUNCTION_TABLE 结构中提供了指向 RegisterNotification 函数的指针。

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 ntsecpkg.h

另请参阅

LSA_SECPKG_FUNCTION_TABLE

SpInitialize