<Return[MN]><Top>

NotifyBootConfigStatus

Declare Function Api_NotifyChangeEventLog& Lib "advapi32" Alias "NotifyChangeEventLog" (ByVal hEventLog&, ByVal hEvent&)

Declare Function NotifyChangeEventLog Lib "advapi32" Alias "NotifyChangeEventLog" (ByVal hEventLog As Long, ByVal hEvent As Long) As Long

ブートステータスをサービス制御マネージャへ報告する。ブート検査プログラムはこの情報を利用する。この関数を呼び出せるのは、LocalSystem または Administrator のアカウントを使って動作しているプロセスだけである。

パラメータ
BootAcceptable
    [入力]システムをブートするときに使った構成が受け入れ可能かどうかを指定する。この値が TRUE の場合、システムはブート時の構成

    を、直前に利用したときは正常であったことがわかっている構成として保存する。この値が FALSE の場合、直前に利用したときは正常で

    あったことがわかっている構成を利用して、システムは即座に再起動(リブート)する。

戻り値
    BootAcceptable パラメータが FALSE の場合、この関数は制御を戻さない。
    直前に利用したときは正常であったことがわかっている構成を保存することに成功した場合、0 以外の値が返る。
    エラーが発生すると、0 が返る。拡張エラー情報を取得するには、 関数を使う。
    サービス制御マネージャは次のエラーコードを設定することがある。サービス制御マネージャが呼び出したレジストリ関数は、構成レジストリ内

    にパラメータを設定するためにその他のエラーコードを設定することがある。
 

    エラーコード                            

意味                                                                                                                                   

    ERROR_ACCESS_DENIED

 

 

ユーザーにはこの操作を行うためのアクセス権がない。
サービス制御マネージャオブジェクトに関連付けられている、ハードコーディングされた DACL によって、NotifyBootConfigStatus 関数の操作を行えるユーザーが決まる。システムユーザーと、Adminstrators グループのメンバだけがこの操作を行える。


解説
    この関数を使って、動作中のシステムの構成を保存するのは、直前に利用したときは正常であったことがわかっている構成を保存するため

    の受け入れ可能な方法である。ブート時に使われた構成が受け入れ不可能である場合、この関数を呼び出して、直前に利用したときは正

    常であったことがわかっている既存の構成を使ってシステムを再起動する。