SystemRestore クラスの CreateRestorePoint メソッド
復元ポイントを作成します。
このメソッドは、 SRSetRestorePoint 関数に相当するスクリプト可能なメソッドです。
構文
uint32 CreateRestorePoint(
[in] String Description,
[in] uint32 RestorePointType,
[in] uint32 EventType
);
パラメーター
-
説明 [入力]
-
ユーザーが復元ポイントを簡単に識別できるように表示する説明。 ANSI 文字列の最大長はMAX_DESC。 Unicode 文字列の最大長はMAX_DESC_W。 詳細については、「 復元ポイントの説明テキスト」を参照してください。
-
RestorePointType [in]
-
復元ポイントの種類。 このメンバーには、次のいずれかの値を指定できます。
復元ポイントの種類 説明 - APPLICATION_INSTALL
- 0
アプリケーションがインストールされました。 - APPLICATION_UNINSTALL
- 1
アプリケーションがアンインストールされました。 - DEVICE_DRIVER_INSTALL
- 10
デバイス ドライバーがインストールされています。 - MODIFY_SETTINGS
- 12
アプリケーションに機能が追加または削除されました。 - CANCELLED_OPERATION
- 13
アプリケーションは、作成した復元ポイントを削除する必要があります。 たとえば、アプリケーションでは、ユーザーがインストールを取り消すときにこのフラグを使用します。 -
EventType [in]
-
イベントの種類。 このメンバーには、次のいずれかの値を指定できます。
イベントの種類 説明 - BEGIN_NESTED_SYSTEM_CHANGE
- 102
システムの変更が開始されました。 以降の入れ子になった呼び出しでは、新しい復元ポイントは作成されません。
後続の呼び出しでは、END_SYSTEM_CHANGEではなく、END_NESTED_SYSTEM_CHANGEを使用する必要があります。- BEGIN_SYSTEM_CHANGE
- 100
システムの変更が開始されました。
後続の呼び出しでは、END_NESTED_SYSTEM_CHANGEではなく、END_SYSTEM_CHANGEを使用する必要があります。- END_NESTED_SYSTEM_CHANGE
- 103
システム変更が終了しました。 - END_SYSTEM_CHANGE
- 101
システム変更が終了しました。
戻り値
メソッドが成功した場合、戻り値はS_OK。 それ以外の場合、メソッドは WinError.h で定義されている COM エラー コードのいずれかを返します。
解説
**Windows 8: **
新しいレジストリ キーを使用すると、アプリケーション開発者は復元ポイントの作成頻度を変更できます。
このキーはシステムに既に存在しないため、アプリケーションでこのキーを使用するように作成する必要があります。 キーが存在しない場合は、既定で次の処理が適用されます。 アプリケーションが CreateRestorePoint メソッドを呼び出して復元ポイントを作成した場合、Windows は、過去 24 時間以内に復元ポイントが作成された場合、この新しい復元ポイントの作成をスキップします。 CreateRestorePoint メソッドは、S_OKを返します。
開発者は、レジストリ キー HKLM\Software\Microsoft\Windows NT\CurrentVersion\SystemRestore の下に DWORD 値 SystemRestorePointCreationFrequency を作成するアプリケーションを作成できます。 このレジストリ キーの値は、復元ポイントの作成頻度を変更できます。 このレジストリ キーの値は、復元ポイントの作成頻度を変更できます。
アプリケーションが CreateRestorePoint を 呼び出して復元ポイントを作成し、レジストリ キーの値が 0 の場合、システム復元では新しい復元ポイントの作成はスキップされません。
アプリケーションが CreateRestorePoint を 呼び出して復元ポイントを作成し、レジストリ キーの値が整数 N の場合、システム復元では、前の N 分間に復元ポイントが作成された場合、新しい復元ポイントの作成はスキップされます。
例
'CreateRestorePoint Method of the SystemRestore Class
'Creates a restore point. Specifies the beginning and
'the ending of a set of changes so that System Restore
'can create a restore point.This method is the
'scriptable equivalent of the SRSetRestorePoint function.
Set Args = wscript.Arguments
If Args.Count() > 0 Then
RpName = Args.item(0)
Else
RpName = "Vbscript"
End If
Set obj = GetObject("winmgmts:{impersonationLevel=impersonate}!root/default:SystemRestore")
If (obj.CreateRestorePoint(RpName, 0, 100)) = 0 Then
wscript.Echo "Success"
Else
wscript.Echo "Failed"
End If
必要条件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows XP [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
サポートなし |
名前空間 |
Root\Default |
MOF |
|