VSS_APPLICATION_LEVEL
列挙型メンバー 6
| 名前 | 10進 | 16進 | 説明 |
|---|---|---|---|
| VSS_APP_UNKNOWN | 0 | 0x0 | このライターの凍結状態が発生するレベルは不明です。これはアプリケーションのエラーを示します。 |
| VSS_APP_SYSTEM | 1 | 0x1 | このライターの凍結状態は、システムアプリケーションレベルで発生します。 |
| VSS_APP_BACK_END | 2 | 0x2 | このライターの凍結状態は、バックエンドアプリケーションレベルで発生します。 |
| VSS_APP_FRONT_END | 3 | 0x3 | このライターの凍結状態は、フロントエンドアプリケーションレベルで発生します。 |
| VSS_APP_SYSTEM_RM | 4 | 0x4 | |
| VSS_APP_AUTO | -1 | 0xFFFFFFFF | このライターの凍結状態は自動的に決定されます。この列挙値は将来の使用のために予約済みです。 |
公式ドキュメント
VSS_APPLICATION_LEVEL 列挙型は、アプリケーションレベル、すなわちシャドウコピーの作成過程においてライターが凍結 (Freeze) を通知される時点を示します。
VSS はまず、VSS_APP_FRONT_END で初期化されたライター (フロントエンドレベルアプリケーションと呼ばれます) に Freeze イベントを送信し、次に VSS_APP_BACK_END で初期化されたライター (バックエンドレベルアプリケーションと呼ばれます) に送信し、最後に VSS_APP_SYSTEM で初期化されたライター (システムレベルアプリケーションと呼ばれます) に送信します。
解説(Remarks)
VSS_APPLICATION_LEVEL は、ライターがどの時点で Freeze イベントを受け取るかをアプリケーション開発者が制御できるようにするために提供されています。これは、あるライターが別のライターを使用する場合や、別のライターに依存する場合に重要となることがあります。
たとえば、アプリケーション X がアプリケーション Y を中間層として使用してデータを格納している場合 (たとえば、Y が X で使用されるデータベースを実装している場合)、X はフロントエンドアプリケーション、Y はバックエンドアプリケーションと表現されます。
この例では、シャドウコピーに参加するアプリケーションを凍結する際、データベースサービスそのものである Y (バックエンドアプリケーション) を凍結する前に、X (フロントエンドアプリケーション) にデータベースへの書き込みを中断させる必要があります。
ライターのアプリケーションレベルは CVssWriter::Initialize によって設定され、CVssWriter::GetCurrentLevel によって取得されます。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
各言語での定義
列挙メンバーの定義。HSP タブは #define global(値は16進)。
typedef enum VSS_APPLICATION_LEVEL : int {
VSS_APP_UNKNOWN = 0,
VSS_APP_SYSTEM = 1,
VSS_APP_BACK_END = 2,
VSS_APP_FRONT_END = 3,
VSS_APP_SYSTEM_RM = 4,
VSS_APP_AUTO = -1
} VSS_APPLICATION_LEVEL;public enum VSS_APPLICATION_LEVEL : int
{
VSS_APP_UNKNOWN = 0,
VSS_APP_SYSTEM = 1,
VSS_APP_BACK_END = 2,
VSS_APP_FRONT_END = 3,
VSS_APP_SYSTEM_RM = 4,
VSS_APP_AUTO = -1,
}Public Enum VSS_APPLICATION_LEVEL As Integer
VSS_APP_UNKNOWN = 0
VSS_APP_SYSTEM = 1
VSS_APP_BACK_END = 2
VSS_APP_FRONT_END = 3
VSS_APP_SYSTEM_RM = 4
VSS_APP_AUTO = -1
End Enumimport enum
class VSS_APPLICATION_LEVEL(enum.IntEnum):
VSS_APP_UNKNOWN = 0
VSS_APP_SYSTEM = 1
VSS_APP_BACK_END = 2
VSS_APP_FRONT_END = 3
VSS_APP_SYSTEM_RM = 4
VSS_APP_AUTO = -1// VSS_APPLICATION_LEVEL
pub const VSS_APP_UNKNOWN: i32 = 0;
pub const VSS_APP_SYSTEM: i32 = 1;
pub const VSS_APP_BACK_END: i32 = 2;
pub const VSS_APP_FRONT_END: i32 = 3;
pub const VSS_APP_SYSTEM_RM: i32 = 4;
pub const VSS_APP_AUTO: i32 = -1;// VSS_APPLICATION_LEVEL
const (
VSS_APP_UNKNOWN int32 = 0
VSS_APP_SYSTEM int32 = 1
VSS_APP_BACK_END int32 = 2
VSS_APP_FRONT_END int32 = 3
VSS_APP_SYSTEM_RM int32 = 4
VSS_APP_AUTO int32 = -1
)const
VSS_APP_UNKNOWN = 0;
VSS_APP_SYSTEM = 1;
VSS_APP_BACK_END = 2;
VSS_APP_FRONT_END = 3;
VSS_APP_SYSTEM_RM = 4;
VSS_APP_AUTO = -1;// VSS_APPLICATION_LEVEL
pub const VSS_APP_UNKNOWN: i32 = 0;
pub const VSS_APP_SYSTEM: i32 = 1;
pub const VSS_APP_BACK_END: i32 = 2;
pub const VSS_APP_FRONT_END: i32 = 3;
pub const VSS_APP_SYSTEM_RM: i32 = 4;
pub const VSS_APP_AUTO: i32 = -1;const
VSS_APP_UNKNOWN* = 0
VSS_APP_SYSTEM* = 1
VSS_APP_BACK_END* = 2
VSS_APP_FRONT_END* = 3
VSS_APP_SYSTEM_RM* = 4
VSS_APP_AUTO* = -1enum VSS_APPLICATION_LEVEL : int {
VSS_APP_UNKNOWN = 0,
VSS_APP_SYSTEM = 1,
VSS_APP_BACK_END = 2,
VSS_APP_FRONT_END = 3,
VSS_APP_SYSTEM_RM = 4,
VSS_APP_AUTO = -1,
}#define global VSS_APP_UNKNOWN 0x0
#define global VSS_APP_SYSTEM 0x1
#define global VSS_APP_BACK_END 0x2
#define global VSS_APP_FRONT_END 0x3
#define global VSS_APP_SYSTEM_RM 0x4
#define global VSS_APP_AUTO 0xFFFFFFFF