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

CSC_SynchronizationConfig

列挙型
基底型i4

メンバー 4

名前10進16進説明
CSC_NoSynchronization00x0コードは同期なしで実行されるように強制されます。これは、CSC_InheritanceConfig が CSC_Ignore に設定されている場合の CServiceConfig の既定の同期設定です。
CSC_IfContainerIsSynchronized10x1包含する同期ドメインが存在する場合、コードはその同期ドメイン内で実行されます。これは、CSC_InheritanceConfig が CSC_Inherit に設定されている場合の CServiceConfig の既定の同期設定です。
CSC_NewSynchronizationIfNecessary20x2常に同期が使用されます。既存の同期ドメインが使用されるか、包含されるコンテキストがまだ同期を使用していない場合は、新しい同期ドメインが作成されます。
CSC_NewSynchronization30x3常に新しい同期ドメインが作成されます。

公式ドキュメント

CServiceConfig に対して同期がどのように構成されるかを示します。

解説(Remarks)

この列挙型は、CoCreateActivity によって作成されたアクティビティを通じて送信される作業、または CoEnterServiceDomainCoLeaveServiceDomain の呼び出しの間に囲まれた作業について、CServiceConfig を通じて同期を構成するために使用されます。

同期は、包含されるコード自体には直接の影響がない場合でも、そのコードによって作成されるコンポーネントに影響を与えることがあります。たとえば、同じコードが 2 つの異なるスレッドで実行されており、このコードが同期サービスを要求して CoEnterServiceDomain を呼び出す場合、各スレッドはそれぞれ独自の同期ドメインに含まれます。

CSC_TransactionConfig のトランザクション設定と互換性がない場合、同期設定はそのトランザクションに必要な最小限のレベルまで引き上げられます。

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

各言語での定義

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

typedef enum CSC_SynchronizationConfig : int {
    CSC_NoSynchronization = 0,
    CSC_IfContainerIsSynchronized = 1,
    CSC_NewSynchronizationIfNecessary = 2,
    CSC_NewSynchronization = 3
} CSC_SynchronizationConfig;
public enum CSC_SynchronizationConfig : int
{
    CSC_NoSynchronization = 0,
    CSC_IfContainerIsSynchronized = 1,
    CSC_NewSynchronizationIfNecessary = 2,
    CSC_NewSynchronization = 3,
}
Public Enum CSC_SynchronizationConfig As Integer
    CSC_NoSynchronization = 0
    CSC_IfContainerIsSynchronized = 1
    CSC_NewSynchronizationIfNecessary = 2
    CSC_NewSynchronization = 3
End Enum
import enum

class CSC_SynchronizationConfig(enum.IntEnum):
    CSC_NoSynchronization = 0
    CSC_IfContainerIsSynchronized = 1
    CSC_NewSynchronizationIfNecessary = 2
    CSC_NewSynchronization = 3
// CSC_SynchronizationConfig
pub const CSC_NoSynchronization: i32 = 0;
pub const CSC_IfContainerIsSynchronized: i32 = 1;
pub const CSC_NewSynchronizationIfNecessary: i32 = 2;
pub const CSC_NewSynchronization: i32 = 3;
// CSC_SynchronizationConfig
const (
	CSC_NoSynchronization int32 = 0
	CSC_IfContainerIsSynchronized int32 = 1
	CSC_NewSynchronizationIfNecessary int32 = 2
	CSC_NewSynchronization int32 = 3
)
const
  CSC_NoSynchronization = 0;
  CSC_IfContainerIsSynchronized = 1;
  CSC_NewSynchronizationIfNecessary = 2;
  CSC_NewSynchronization = 3;
// CSC_SynchronizationConfig
pub const CSC_NoSynchronization: i32 = 0;
pub const CSC_IfContainerIsSynchronized: i32 = 1;
pub const CSC_NewSynchronizationIfNecessary: i32 = 2;
pub const CSC_NewSynchronization: i32 = 3;
const
  CSC_NoSynchronization* = 0
  CSC_IfContainerIsSynchronized* = 1
  CSC_NewSynchronizationIfNecessary* = 2
  CSC_NewSynchronization* = 3
enum CSC_SynchronizationConfig : int {
    CSC_NoSynchronization = 0,
    CSC_IfContainerIsSynchronized = 1,
    CSC_NewSynchronizationIfNecessary = 2,
    CSC_NewSynchronization = 3,
}
#define global CSC_NoSynchronization             0x0
#define global CSC_IfContainerIsSynchronized     0x1
#define global CSC_NewSynchronizationIfNecessary 0x2
#define global CSC_NewSynchronization            0x3