次の方法で共有


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 に設定されていない限り、0 を指定します。

意味
NOTIFY_CLASS_PACKAGE_CHANGE
パッケージが読み込まれたか、新しいパッケージが優先パッケージとして選択されました。 詳細については、「解説」を参照してください。
NOTIFY_CLASS_ROLE_CHANGE
内部使用のために予約されています。
NOTIFY_CLASS_DOMAIN_CHANGE
内部使用のために予約されています。

[in] NotificationFlags

通知動作を制御するフラグを指定します。

意味
NOTIFIER_FLAG_NEW_THREAD
新しいスレッドを使用して通知を待ちます。
NOTIFIER_FLAG_ONE_SHOT
1 回だけ通知します。
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 新しいパッケージが推奨される セキュリティ パッケージになりました。
 

RegisterNotification 関数へのポインターは、SpInitialize 関数によって受信されたLSA_SECPKG_FUNCTION_TABLE構造体で使用できます。

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー ntsecpkg.h

こちらもご覧ください

LSA_SECPKG_FUNCTION_TABLE

SpInitialize