Win32 API 日本語リファレンス
ホームStorage.Vss › VSS_APPLICATION_LEVEL

VSS_APPLICATION_LEVEL

列挙型
基底型i4

メンバー 6

名前10進16進説明
VSS_APP_UNKNOWN00x0このライターの凍結状態が発生するレベルは不明です。これはアプリケーションのエラーを示します。
VSS_APP_SYSTEM10x1このライターの凍結状態は、システムアプリケーションレベルで発生します。
VSS_APP_BACK_END20x2このライターの凍結状態は、バックエンドアプリケーションレベルで発生します。
VSS_APP_FRONT_END30x3このライターの凍結状態は、フロントエンドアプリケーションレベルで発生します。
VSS_APP_SYSTEM_RM40x4
VSS_APP_AUTO-10xFFFFFFFFこのライターの凍結状態は自動的に決定されます。この列挙値は将来の使用のために予約済みです。

公式ドキュメント

VSS_APPLICATION_LEVEL 列挙型は、アプリケーションレベル、すなわちシャドウコピーの作成過程においてライターが凍結 (Freeze) を通知される時点を示します。

VSS はまず、VSS_APP_FRONT_END で初期化されたライター (フロントエンドレベルアプリケーションと呼ばれます) に Freeze イベントを送信し、次に VSS_APP_BACK_END で初期化されたライター (バックエンドレベルアプリケーションと呼ばれます) に送信し、最後に VSS_APP_SYSTEM で初期化されたライター (システムレベルアプリケーションと呼ばれます) に送信します。

解説(Remarks)

VSS_APPLICATION_LEVEL は、ライターがどの時点で Freeze イベントを受け取るかをアプリケーション開発者が制御できるようにするために提供されています。これは、あるライターが別のライターを使用する場合や、別のライターに依存する場合に重要となることがあります。

たとえば、アプリケーション X がアプリケーション Y を中間層として使用してデータを格納している場合 (たとえば、YX で使用されるデータベースを実装している場合)、X はフロントエンドアプリケーション、Y はバックエンドアプリケーションと表現されます。

この例では、シャドウコピーに参加するアプリケーションを凍結する際、データベースサービスそのものである Y (バックエンドアプリケーション) を凍結する前に、X (フロントエンドアプリケーション) にデータベースへの書き込みを中断させる必要があります。

ライターのアプリケーションレベルは CVssWriter::Initialize によって設定され、CVssWriter::GetCurrentLevel によって取得されます。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
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 Enum
import 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* = -1
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,
}
#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