Win32 API 日本語リファレンス
ホームSystem.Wmi › WbemChangeFlagEnum

WbemChangeFlagEnum

列挙型
基底型i4

メンバー 8

名前10進16進説明
wbemChangeFlagCreateOrUpdate00x0クラスまたはインスタンスが存在しない場合は作成し、既に存在する場合は上書きします。
wbemChangeFlagUpdateOnly10x1呼び出しで更新を行います。呼び出しが成功するには、クラスまたはインスタンスが存在している必要があります。
wbemChangeFlagCreateOnly20x2作成のみに使用します。クラスまたはインスタンスが既に存在する場合、呼び出しは失敗します。
wbemChangeFlagUpdateCompatible00x0派生クラスが存在せず、そのクラスのインスタンスも存在しない場合に、クラスの更新を許可します。また、変更が重要でない修飾子 (たとえば Description 修飾子) に対するものだけであれば、すべての場合において更新を許可します。クラスにインスタンスがある場合、更新は失敗します。このフラグは、以前のバージョンの WMI との互換性のために使用されます。
wbemChangeFlagUpdateSafeMode320x20子クラスが存在する場合でも、変更が子クラスとの競合を引き起こさない限り、クラスの更新を許可します。このフラグが許可する更新の例としては、どの子クラスにもこれまで記述されていない新しいプロパティを基底クラスに追加する場合が挙げられます。クラスにインスタンスがある場合、更新は失敗します。
wbemChangeFlagUpdateForceMode640x40

競合する子クラスが存在する場合でも、クラスの更新を強制します。

このフラグが強制する更新の例としては、クラス修飾子が子クラスで定義されており、基底クラスが既存の修飾子と競合する同じ修飾子を追加しようとする場合が挙げられます。強制モードでは、この競合は子クラスの修飾子を削除することで解決されます。クラスにインスタンスがある場合、更新は失敗します。

強制モードを使用して静的クラスを更新すると、そのクラスのすべてのインスタンスが削除されます。プロバイダークラスに対する強制更新では、クラスのインスタンスは削除されません。

wbemChangeFlagStrongValidation1280x80: 無効なシステムインスタンスに対する put 操作でエラーを返すよう、オペレーティングシステムに通知します。そのようなインスタンスの例としては、フィルター、バインディング、プロバイダーなどのイベント関連のインスタンスがあります。既定では、これらのインスタンスが無効な場合、put 操作は成功を報告しますが、ログにはエラーが記録されます。
wbemChangeFlagAdvisory655360x10000

公式ドキュメント

WbemChangeFlagEnum 定数は、クラスまたはインスタンスへの書き込み操作をどのように実行するかを定義します。書き込み操作は SWbemObject.Put_ または SWbemServicesEx.Put_ によって実行されます。これらのフラグは SWbemObject.Put_ および SWbemObject.PutAsync_ で使用されます。

WMI スクリプティング型ライブラリ WbemDisp.tlb がこれらの定数を定義しています。Visual Basic アプリケーションはこのライブラリにアクセスできますが、スクリプト言語では Windows Script Host (WSH) の XML ファイル形式を使用しない限り、定数の値を直接使用する必要があります。詳細については、 Using the WMI Scripting Type Library を参照してください。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

各言語での定義

列挙メンバーの定義。HSP タブは #define global(値は16進)。

typedef enum WbemChangeFlagEnum : int {
    wbemChangeFlagCreateOrUpdate = 0,
    wbemChangeFlagUpdateOnly = 1,
    wbemChangeFlagCreateOnly = 2,
    wbemChangeFlagUpdateCompatible = 0,
    wbemChangeFlagUpdateSafeMode = 32,
    wbemChangeFlagUpdateForceMode = 64,
    wbemChangeFlagStrongValidation = 128,
    wbemChangeFlagAdvisory = 65536
} WbemChangeFlagEnum;
public enum WbemChangeFlagEnum : int
{
    wbemChangeFlagCreateOrUpdate = 0,
    wbemChangeFlagUpdateOnly = 1,
    wbemChangeFlagCreateOnly = 2,
    wbemChangeFlagUpdateCompatible = 0,
    wbemChangeFlagUpdateSafeMode = 32,
    wbemChangeFlagUpdateForceMode = 64,
    wbemChangeFlagStrongValidation = 128,
    wbemChangeFlagAdvisory = 65536,
}
Public Enum WbemChangeFlagEnum As Integer
    wbemChangeFlagCreateOrUpdate = 0
    wbemChangeFlagUpdateOnly = 1
    wbemChangeFlagCreateOnly = 2
    wbemChangeFlagUpdateCompatible = 0
    wbemChangeFlagUpdateSafeMode = 32
    wbemChangeFlagUpdateForceMode = 64
    wbemChangeFlagStrongValidation = 128
    wbemChangeFlagAdvisory = 65536
End Enum
import enum

class WbemChangeFlagEnum(enum.IntEnum):
    wbemChangeFlagCreateOrUpdate = 0
    wbemChangeFlagUpdateOnly = 1
    wbemChangeFlagCreateOnly = 2
    wbemChangeFlagUpdateCompatible = 0
    wbemChangeFlagUpdateSafeMode = 32
    wbemChangeFlagUpdateForceMode = 64
    wbemChangeFlagStrongValidation = 128
    wbemChangeFlagAdvisory = 65536
// WbemChangeFlagEnum
pub const wbemChangeFlagCreateOrUpdate: i32 = 0;
pub const wbemChangeFlagUpdateOnly: i32 = 1;
pub const wbemChangeFlagCreateOnly: i32 = 2;
pub const wbemChangeFlagUpdateCompatible: i32 = 0;
pub const wbemChangeFlagUpdateSafeMode: i32 = 32;
pub const wbemChangeFlagUpdateForceMode: i32 = 64;
pub const wbemChangeFlagStrongValidation: i32 = 128;
pub const wbemChangeFlagAdvisory: i32 = 65536;
// WbemChangeFlagEnum
const (
	wbemChangeFlagCreateOrUpdate int32 = 0
	wbemChangeFlagUpdateOnly int32 = 1
	wbemChangeFlagCreateOnly int32 = 2
	wbemChangeFlagUpdateCompatible int32 = 0
	wbemChangeFlagUpdateSafeMode int32 = 32
	wbemChangeFlagUpdateForceMode int32 = 64
	wbemChangeFlagStrongValidation int32 = 128
	wbemChangeFlagAdvisory int32 = 65536
)
const
  wbemChangeFlagCreateOrUpdate = 0;
  wbemChangeFlagUpdateOnly = 1;
  wbemChangeFlagCreateOnly = 2;
  wbemChangeFlagUpdateCompatible = 0;
  wbemChangeFlagUpdateSafeMode = 32;
  wbemChangeFlagUpdateForceMode = 64;
  wbemChangeFlagStrongValidation = 128;
  wbemChangeFlagAdvisory = 65536;
// WbemChangeFlagEnum
pub const wbemChangeFlagCreateOrUpdate: i32 = 0;
pub const wbemChangeFlagUpdateOnly: i32 = 1;
pub const wbemChangeFlagCreateOnly: i32 = 2;
pub const wbemChangeFlagUpdateCompatible: i32 = 0;
pub const wbemChangeFlagUpdateSafeMode: i32 = 32;
pub const wbemChangeFlagUpdateForceMode: i32 = 64;
pub const wbemChangeFlagStrongValidation: i32 = 128;
pub const wbemChangeFlagAdvisory: i32 = 65536;
const
  wbemChangeFlagCreateOrUpdate* = 0
  wbemChangeFlagUpdateOnly* = 1
  wbemChangeFlagCreateOnly* = 2
  wbemChangeFlagUpdateCompatible* = 0
  wbemChangeFlagUpdateSafeMode* = 32
  wbemChangeFlagUpdateForceMode* = 64
  wbemChangeFlagStrongValidation* = 128
  wbemChangeFlagAdvisory* = 65536
enum WbemChangeFlagEnum : int {
    wbemChangeFlagCreateOrUpdate = 0,
    wbemChangeFlagUpdateOnly = 1,
    wbemChangeFlagCreateOnly = 2,
    wbemChangeFlagUpdateCompatible = 0,
    wbemChangeFlagUpdateSafeMode = 32,
    wbemChangeFlagUpdateForceMode = 64,
    wbemChangeFlagStrongValidation = 128,
    wbemChangeFlagAdvisory = 65536,
}
#define global wbemChangeFlagCreateOrUpdate   0x0
#define global wbemChangeFlagUpdateOnly       0x1
#define global wbemChangeFlagCreateOnly       0x2
#define global wbemChangeFlagUpdateCompatible 0x0
#define global wbemChangeFlagUpdateSafeMode   0x20
#define global wbemChangeFlagUpdateForceMode  0x40
#define global wbemChangeFlagStrongValidation 0x80
#define global wbemChangeFlagAdvisory         0x10000