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 の下に DWORDSystemRestorePointCreationFrequency を作成するアプリケーションを作成できます。 このレジストリ キーの値は、復元ポイントの作成頻度を変更できます。 このレジストリ キーの値は、復元ポイントの作成頻度を変更できます。

アプリケーションが 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
Sr.mof

関連項目

SystemRestore