CLSCTX
列挙型フラグメンバー 32
| 名前 | 10進 | 16進 | 説明 |
|---|---|---|---|
| CLSCTX_INPROC_SERVER | 1 | 0x1 | このクラスのオブジェクトを作成および管理するコードは、クラスコンテキストを指定した関数の呼び出し元と同じプロセスで実行される DLL です。 |
| CLSCTX_INPROC_HANDLER | 2 | 0x2 | このクラスのオブジェクトを管理するコードはインプロセスハンドラーです。これは、クラスのインスタンスがリモートからアクセスされるときに、クライアントプロセス内で実行され、このクラスのクライアント側の構造を実装する DLL です。 |
| CLSCTX_LOCAL_SERVER | 4 | 0x4 | このクラスのオブジェクトを作成および管理する EXE コードは、同じコンピューター上で実行されますが、別のプロセス空間に読み込まれます。 |
| CLSCTX_INPROC_SERVER16 | 8 | 0x8 | 廃止されています。 |
| CLSCTX_REMOTE_SERVER | 16 | 0x10 | リモートコンテキストです。このクラスのオブジェクトを作成および管理する LocalServer32 または LocalService のコードは、別のコンピューター上で実行されます。 |
| CLSCTX_INPROC_HANDLER16 | 32 | 0x20 | 廃止されています。 |
| CLSCTX_RESERVED1 | 64 | 0x40 | 予約済みです。 |
| CLSCTX_RESERVED2 | 128 | 0x80 | 予約済みです。 |
| CLSCTX_RESERVED3 | 256 | 0x100 | 予約済みです。 |
| CLSCTX_RESERVED4 | 512 | 0x200 | 予約済みです。 |
| CLSCTX_NO_CODE_DOWNLOAD | 1024 | 0x400 | ディレクトリサービスまたはインターネットからのコードのダウンロードを無効にします。このフラグは CLSCTX_ENABLE_CODE_DOWNLOAD と同時に設定することはできません。 |
| CLSCTX_RESERVED5 | 2048 | 0x800 | 予約済みです。 |
| CLSCTX_NO_CUSTOM_MARSHAL | 4096 | 0x1000 | カスタムマーシャリングが使用される場合にアクティブ化を失敗させたいときに指定します。 |
| CLSCTX_ENABLE_CODE_DOWNLOAD | 8192 | 0x2000 | ディレクトリサービスまたはインターネットからのコードのダウンロードを有効にします。このフラグは CLSCTX_NO_CODE_DOWNLOAD と同時に設定することはできません。 |
| CLSCTX_NO_FAILURE_LOG | 16384 | 0x4000 | CLSCTX_NO_FAILURE_LOG は、CoCreateInstanceEx における失敗のログ記録を上書きするために使用できます。 ActivationFailureLoggingLevel が作成されている場合、次の値によってイベントログ記録の状態が決まります。
|
| CLSCTX_DISABLE_AAA | 32768 | 0x8000 | このアクティブ化に限り、activate-as-activator (AAA) アクティブ化を無効にします。このフラグは、EOLE_AUTHENTICATION_CAPABILITIES 列挙型の EOAC_DISABLE_AAA フラグの設定を上書きします。このフラグは CLSCTX_ENABLE_AAA と同時に設定することはできません。サーバープロセスが呼び出し元の ID で起動されるアクティブ化は、activate-as-activator (AAA) アクティブ化と呼ばれます。AAA アクティブ化を無効にすると、特権アカウント (LocalSystem など) で実行されるアプリケーションが、その ID を使用して信頼されていないコンポーネントが起動されるのを防ぐのに役立ちます。アクティブ化の呼び出しを行うライブラリアプリケーションは、それらの呼び出しで常にこのフラグを設定してください。これにより、ライブラリアプリケーションが特権昇格のセキュリティ攻撃に利用されるのを防ぐのに役立ちます。EOLE_AUTHENTICATION_CAPABILITIES 列挙型の EOAC_DISABLE_AAA フラグはサーバープロセスにのみ適用され、ライブラリアプリケーションには適用されないため、これがライブラリアプリケーションで AAA アクティブ化を無効にする唯一の方法です。 Windows 2000: このフラグはサポートされていません。 |
| CLSCTX_ENABLE_AAA | 65536 | 0x10000 | このアクティブ化に限り、activate-as-activator (AAA) アクティブ化を有効にします。このフラグは、EOLE_AUTHENTICATION_CAPABILITIES 列挙型の EOAC_DISABLE_AAA フラグの設定を上書きします。このフラグは CLSCTX_DISABLE_AAA と同時に設定することはできません。サーバープロセスが呼び出し元の ID で起動されるアクティブ化は、activate-as-activator (AAA) アクティブ化と呼ばれます。このフラグを有効にすると、アプリケーションは自身の ID をアクティブ化されたコンポーネントに引き渡すことができます。 Windows 2000: このフラグはサポートされていません。 |
| CLSCTX_FROM_DEFAULT_CONTEXT | 131072 | 0x20000 | 現在のアパートメントの既定のコンテキストからこのアクティブ化を開始します。 |
| CLSCTX_ACTIVATE_X86_SERVER | 262144 | 0x40000 | |
| CLSCTX_ACTIVATE_32_BIT_SERVER | 262144 | 0x40000 | 32 ビット版のサーバーをアクティブ化するか、それに接続します。登録されていない場合は失敗します。 |
| CLSCTX_ACTIVATE_64_BIT_SERVER | 524288 | 0x80000 | 64 ビット版のサーバーをアクティブ化するか、それに接続します。登録されていない場合は失敗します。 |
| CLSCTX_ENABLE_CLOAKING | 1048576 | 0x100000 | このフラグが指定されている場合、COM はスレッドによって行われるアクティブ化要求に対して、スレッドの偽装トークンが存在すればそれを使用します。このフラグが指定されていない場合、またはスレッドが偽装トークンを持たない場合、COM はスレッドによって行われるアクティブ化要求に対してそのスレッドのプロセスのプロセストークンを使用します。 Windows Vista 以降: このフラグはサポートされています。 |
| CLSCTX_APPCONTAINER | 4194304 | 0x400000 | アクティブ化がアプリコンテナー向けであることを示します。 注意 このフラグは内部使用のために予約されており、コードから直接使用することを意図したものではありません。
|
| CLSCTX_ACTIVATE_AAA_AS_IU | 8388608 | 0x800000 | As-Activator サーバーに対して対話ユーザー (Interactive User) としてのアクティブ化動作を行う場合に、このフラグを指定します。厳密な名前を持つ中レベル IL (Medium IL) の Windows ストアアプリは、このフラグを使用して、厳密な名前を持たない "As Activator" COM サーバーを起動できます。また、デスクトップアプリケーションによって起動された COM サーバーの実行中のインスタンスにバインドするためにも、このフラグを使用できます。 クライアントは中レベル IL でなければならず、厳密な名前を持つ (すなわちクライアントトークンに SysAppID がある) 必要があり、セッション 0 に存在してはならず、クライアントトークン内のセッション ID のユーザーと同じユーザーでなければなりません。 サーバーがアウトオブプロセスかつ "As Activator" の場合、クライアントトークンのセッションユーザーのトークンでサーバーを起動します。このトークンは厳密な名前を持ちません。 サーバーがアウトオブプロセスかつ RunAs が "Interactive User" の場合、このフラグは効果を持ちません。 サーバーがアウトオブプロセスでその他の RunAs の種類である場合、アクティブ化は失敗します。 このフラグはインプロセスサーバーに対しては効果を持ちません。 このフラグを使用したコンピューター外へのアクティブ化は失敗します。 |
| CLSCTX_RESERVED6 | 16777216 | 0x1000000 | |
| CLSCTX_ACTIVATE_ARM32_SERVER | 33554432 | 0x2000000 | |
| CLSCTX_ALLOW_LOWER_TRUST_REGISTRATION | 67108864 | 0x4000000 | |
| CLSCTX_SERVER_MUST_BE_EQUAL_OR_GREATER_PRIVILEGE | 134217728 | 0x8000000 | |
| CLSCTX_DO_NOT_ELEVATE_SERVER | 268435456 | 0x10000000 | |
| CLSCTX_PS_DLL | 2147483648 | 0x80000000 | プロキシ/スタブ DLL の読み込みに使用されます。 注意 このフラグは内部使用のために予約されており、コードから直接使用することを意図したものではありません。 |
| CLSCTX_ALL | 23 | 0x17 | |
| CLSCTX_SERVER | 21 | 0x15 |
公式ドキュメント
オブジェクトを実行する実行コンテキストを示すために、アクティブ化の呼び出しで使用される値です。これらの値は、インスタンスを構築する要求に対してクラスオブジェクトを利用可能にする実行コンテキストの集合を示すために、CoRegisterClassObject の呼び出しでも使用されます。
解説(Remarks)
CLSCTX 列挙型の値は、オブジェクトを実行する際に優先される実行コンテキスト (インプロセス、ローカル、またはリモート) を示すために、アクティブ化の呼び出し (CoCreateInstance、CoCreateInstanceEx、CoGetClassObject など) で使用されます。また、インスタンスを構築する要求 (IClassFactory::CreateInstance) に対してクラスオブジェクトを利用可能にする実行コンテキストの集合を示すために、CoRegisterClassObject の呼び出しでも使用されます。
複数のコンテキストが受け入れ可能であることを示すには、複数の値をブール OR で組み合わせることができます。コンテキストは、列挙されている順序で試行されます。
CLSCTX フラグの集合が与えられたとき、使用される実行コンテキストは、登録されているクラスコードの有無やその他のパラメーターに応じて、次のアルゴリズムによって決まります。
- 呼び出しが次のいずれかを指定している場合、CLSCTX_REMOTE_SERVER が暗黙的に指定されたものとみなされ、フラグの一覧に追加されます。
- 現在のコンピューターとは異なるコンピューターを示す明示的な COSERVERINFO 構造体。
- 明示的な COSERVERINFO 構造体は指定されていないが、指定されたクラスが RemoteServerName または ActivateAtStorage のレジストリ値で登録されている場合。
- 明示的な COSERVERINFO パラメーターが現在のコンピューターを示している場合、CLSCTX_REMOTE_SERVER が存在すれば削除されます。
- フラグに CLSCTX_REMOTE_SERVER が含まれ、COSERVERINFO パラメーターが指定されておらず、アクティブ化要求がオブジェクトの初期化に使用する永続状態を示していて (CoGetInstanceFromFile、CoGetInstanceFromIStorage、またはファイルモニカーの場合は IMoniker::BindToObject の呼び出しによる)、かつクラスが ActivateAtStorage サブキーを持つか、クラスのレジストリ情報がまったく存在しない場合、アクティブ化と初期化の要求は、永続状態が存在するコンピューターに転送されます。(詳細については、「関連項目」セクションに挙げられているリモートアクティブ化関数を参照してください。)
- フラグに CLSCTX_INPROC_SERVER が含まれる場合、クラスの InprocServer32 キーの下にある DLL 内のクラスコードが、このキーが存在すれば使用されます。クラスコードは呼び出し元と同じプロセス内で実行されます。
- フラグに CLSCTX_INPROC_HANDLER が含まれる場合、クラスの InprocHandler32 キーの下にある DLL 内のクラスコードが、このキーが存在すれば使用されます。クラスコードは呼び出し元と同じプロセス内で実行されます。
- フラグに CLSCTX_LOCAL_SERVER が含まれる場合、クラスの LocalService キーの下にあるサービス内のクラスコードが、このキーが存在すれば使用されます。サービスが指定されておらず、同じキーの下に EXE が指定されている場合は、その EXE に関連付けられたクラスコードが使用されます。いずれの場合も、クラスコードは呼び出し元と同じコンピューター上の別のサービスプロセスで実行されます。
- フラグが CLSCTX_REMOTE_SERVER に設定されており、関数への追加の COSERVERINFO パラメーターが特定のリモートコンピューターを指定している場合、アクティブ化の要求はフラグを CLSCTX_LOCAL_SERVER に変更したうえで、このリモートコンピューターに転送されます。クラスコードはこの特定のコンピューター上の独自のプロセスで実行されます。このコンピューターは呼び出し元のコンピューターとは異なっている必要があります。
- 最後に、フラグに CLSCTX_REMOTE_SERVER が含まれ、COSERVERINFO パラメーターが指定されておらず、クラスの RemoteServerName 名前付き値の下にコンピューター名が指定されている場合、アクティブ化の要求はフラグを CLSCTX_LOCAL_SERVER に変更したうえで、このリモートコンピューターに転送されます。クラスコードはこの特定のコンピューター上の独自のプロセスで実行されます。このコンピューターは呼び出し元のコンピューターとは異なっている必要があります。
CLSCTX_ACTIVATE_32_BIT_SERVER と CLSCTX_ACTIVATE_64_BIT_SERVER
64 ビット版の Windows では、CLSCTX_ACTIVATE_32_BIT_SERVER と CLSCTX_ACTIVATE_64_BIT_SERVER という 2 つの新しいフラグが導入されました。64 ビットコンピューターでは、同じ COM サーバーの 32 ビット版と 64 ビット版が共存する場合があります。クライアントがアウトオブプロセスサーバーのアクティブ化を要求するとき、これらの CLSCTX フラグにより、クライアントはサーバーの 32 ビット版と 64 ビット版のどちらを使用するかを指定できます。通常、クライアントはサーバーの 32 ビット版と 64 ビット版のどちらを使用するかを意識しません。ただし、サーバー自体が追加のインプロセスサーバーを読み込む場合は、そのサーバーとインプロセスサーバーの両方が 32 ビットであるか、両方が 64 ビットである必要があります。たとえば、クライアントがサーバー "A" を使用したいとし、そのサーバー "A" がインプロセスサーバー "B" を読み込むとします。サーバー "B" の 32 ビット版しか利用できない場合、クライアントはサーバー "A" の 32 ビット版を指定しなければなりません。サーバー "B" の 64 ビット版しか利用できない場合、クライアントはサーバー "A" の 64 ビット版を指定しなければなりません。
サーバーは PreferredServerBitness レジストリキーによって自身のアーキテクチャの優先設定を指定できますが、CLSCTX_ACTIVATE_32_BIT_SERVER または CLSCTX_ACTIVATE_64_BIT_SERVER フラグで指定されたクライアントの優先設定が、サーバーの優先設定を上書きします。クライアントが優先設定を指定しない場合は、サーバーの優先設定が使用されます。
クライアントとサーバーのどちらも優先設定を指定しない場合は、次のようになります。
- サーバーをホストするコンピューターで Windows Server 2003 Service Pack 1 (SP1) 以降のシステムが実行されている場合、COM はサーバーのアーキテクチャをクライアントのアーキテクチャに一致させようとします。つまり、32 ビットクライアントの場合、COM は 32 ビットサーバーが利用可能であればそれをアクティブ化し、そうでなければ 64 ビット版のサーバーをアクティブ化します。64 ビットクライアントの場合、COM は 64 ビットサーバーが利用可能であればそれをアクティブ化し、そうでなければ 32 ビットサーバーをアクティブ化します。
- サーバーをホストするコンピューターで、SP1 以降が適用されていない Windows XP または Windows Server 2003 が実行されている場合、COM は 64 ビット版のサーバーが利用可能であればそれを優先し、そうでなければ 32 ビット版のサーバーをアクティブ化します。
次の表は、クライアントのアーキテクチャおよび設定と、サーバーのアーキテクチャおよび設定のさまざまな組み合わせの結果を示しています。
CLSCTX_ACTIVATE_32_BIT_SERVER および CLSCTX_ACTIVATE_64_BIT_SERVER フラグは、コンピューターの境界を越えて伝わります。サーバーをホストするコンピューターで 64 ビット版の Windows が実行されている場合、これらのフラグは尊重されます。そうでない場合は無視されます。
| 32 ビットクライアント、フラグなし | 64 ビットクライアント、フラグなし | 32 ビットクライアント、32 ビットフラグ¹ | 32 ビットクライアント、64 ビットフラグ² | 64 ビットクライアント、32 ビットフラグ¹ | 64 ビットクライアント、64 ビットフラグ² | |
|---|---|---|---|---|---|---|
| 32 ビットサーバー、クライアントに合わせるレジストリ値³ | 32 ビットサーバー | ⁸ を参照 | 32 ビットサーバー | ⁸ を参照 | 32 ビットサーバー | ⁸ を参照 |
| 32 ビットサーバー、32 ビットのレジストリ値⁴ | 32 ビットサーバー | 32 ビットサーバー | 32 ビットサーバー | ⁸ を参照 | 32 ビットサーバー | ⁸ を参照 |
| 32 ビットサーバー、64 ビットのレジストリ値⁵ | ⁸ を参照 | ⁸ を参照 | 32 ビットサーバー | ⁸ を参照 | 32 ビットサーバー | ⁸ を参照 |
| 32 ビットサーバー、レジストリ値なし⁶ | 32 ビットサーバー | 64/32⁹ | 32 ビットサーバー | ⁸ を参照 | 32 ビットサーバー | ⁸ を参照 |
| 32 ビットサーバー、レジストリ値なし (Windows Server 2003 SP1 より前)⁷ | 64/32⁹ | 64/32⁹ | 32 ビットサーバー | ⁸ を参照 | 32 ビットサーバー | ⁸ を参照 |
| 64 ビットサーバー、クライアントに合わせるレジストリ値³ | ⁸ を参照 | 64 ビットサーバー | ⁸ を参照 | 64 ビットサーバー | ⁸ を参照 | 64 ビットサーバー |
| 64 ビットサーバー、32 ビットのレジストリ値⁴ | ⁸ を参照 | ⁸ を参照 | ⁸ を参照 | 64 ビットサーバー | ⁸ を参照 | 64 ビットサーバー |
| 64 ビットサーバー、64 ビットのレジストリ値⁵ | 64 ビットサーバー | 64 ビットサーバー | ⁸ を参照 | 64 ビットサーバー | ⁸ を参照 | 64 ビットサーバー |
| 64 ビットサーバー、レジストリ値なし⁶ | 32/64¹⁰ | 64 ビットサーバー | ⁸ を参照 | 64 ビットサーバー | ⁸ を参照 | 64 ビットサーバー |
| 64 ビットサーバー、レジストリ値なし (Windows Server 2003 SP1 より前)⁷ | 64 ビットサーバー | 64 ビットサーバー | ⁸ を参照 | 64 ビットサーバー | ⁸ を参照 | 64 ビットサーバー |
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
各言語での定義
列挙メンバーの定義。HSP タブは #define global(値は16進)。
typedef enum CLSCTX : unsigned int {
CLSCTX_INPROC_SERVER = 1,
CLSCTX_INPROC_HANDLER = 2,
CLSCTX_LOCAL_SERVER = 4,
CLSCTX_INPROC_SERVER16 = 8,
CLSCTX_REMOTE_SERVER = 16,
CLSCTX_INPROC_HANDLER16 = 32,
CLSCTX_RESERVED1 = 64,
CLSCTX_RESERVED2 = 128,
CLSCTX_RESERVED3 = 256,
CLSCTX_RESERVED4 = 512,
CLSCTX_NO_CODE_DOWNLOAD = 1024,
CLSCTX_RESERVED5 = 2048,
CLSCTX_NO_CUSTOM_MARSHAL = 4096,
CLSCTX_ENABLE_CODE_DOWNLOAD = 8192,
CLSCTX_NO_FAILURE_LOG = 16384,
CLSCTX_DISABLE_AAA = 32768,
CLSCTX_ENABLE_AAA = 65536,
CLSCTX_FROM_DEFAULT_CONTEXT = 131072,
CLSCTX_ACTIVATE_X86_SERVER = 262144,
CLSCTX_ACTIVATE_32_BIT_SERVER = 262144,
CLSCTX_ACTIVATE_64_BIT_SERVER = 524288,
CLSCTX_ENABLE_CLOAKING = 1048576,
CLSCTX_APPCONTAINER = 4194304,
CLSCTX_ACTIVATE_AAA_AS_IU = 8388608,
CLSCTX_RESERVED6 = 16777216,
CLSCTX_ACTIVATE_ARM32_SERVER = 33554432,
CLSCTX_ALLOW_LOWER_TRUST_REGISTRATION = 67108864,
CLSCTX_SERVER_MUST_BE_EQUAL_OR_GREATER_PRIVILEGE = 134217728,
CLSCTX_DO_NOT_ELEVATE_SERVER = 268435456,
CLSCTX_PS_DLL = 2147483648,
CLSCTX_ALL = 23,
CLSCTX_SERVER = 21
} CLSCTX;[Flags]
public enum CLSCTX : uint
{
CLSCTX_INPROC_SERVER = 1,
CLSCTX_INPROC_HANDLER = 2,
CLSCTX_LOCAL_SERVER = 4,
CLSCTX_INPROC_SERVER16 = 8,
CLSCTX_REMOTE_SERVER = 16,
CLSCTX_INPROC_HANDLER16 = 32,
CLSCTX_RESERVED1 = 64,
CLSCTX_RESERVED2 = 128,
CLSCTX_RESERVED3 = 256,
CLSCTX_RESERVED4 = 512,
CLSCTX_NO_CODE_DOWNLOAD = 1024,
CLSCTX_RESERVED5 = 2048,
CLSCTX_NO_CUSTOM_MARSHAL = 4096,
CLSCTX_ENABLE_CODE_DOWNLOAD = 8192,
CLSCTX_NO_FAILURE_LOG = 16384,
CLSCTX_DISABLE_AAA = 32768,
CLSCTX_ENABLE_AAA = 65536,
CLSCTX_FROM_DEFAULT_CONTEXT = 131072,
CLSCTX_ACTIVATE_X86_SERVER = 262144,
CLSCTX_ACTIVATE_32_BIT_SERVER = 262144,
CLSCTX_ACTIVATE_64_BIT_SERVER = 524288,
CLSCTX_ENABLE_CLOAKING = 1048576,
CLSCTX_APPCONTAINER = 4194304,
CLSCTX_ACTIVATE_AAA_AS_IU = 8388608,
CLSCTX_RESERVED6 = 16777216,
CLSCTX_ACTIVATE_ARM32_SERVER = 33554432,
CLSCTX_ALLOW_LOWER_TRUST_REGISTRATION = 67108864,
CLSCTX_SERVER_MUST_BE_EQUAL_OR_GREATER_PRIVILEGE = 134217728,
CLSCTX_DO_NOT_ELEVATE_SERVER = 268435456,
CLSCTX_PS_DLL = 2147483648,
CLSCTX_ALL = 23,
CLSCTX_SERVER = 21,
}<Flags>
Public Enum CLSCTX As UInteger
CLSCTX_INPROC_SERVER = 1
CLSCTX_INPROC_HANDLER = 2
CLSCTX_LOCAL_SERVER = 4
CLSCTX_INPROC_SERVER16 = 8
CLSCTX_REMOTE_SERVER = 16
CLSCTX_INPROC_HANDLER16 = 32
CLSCTX_RESERVED1 = 64
CLSCTX_RESERVED2 = 128
CLSCTX_RESERVED3 = 256
CLSCTX_RESERVED4 = 512
CLSCTX_NO_CODE_DOWNLOAD = 1024
CLSCTX_RESERVED5 = 2048
CLSCTX_NO_CUSTOM_MARSHAL = 4096
CLSCTX_ENABLE_CODE_DOWNLOAD = 8192
CLSCTX_NO_FAILURE_LOG = 16384
CLSCTX_DISABLE_AAA = 32768
CLSCTX_ENABLE_AAA = 65536
CLSCTX_FROM_DEFAULT_CONTEXT = 131072
CLSCTX_ACTIVATE_X86_SERVER = 262144
CLSCTX_ACTIVATE_32_BIT_SERVER = 262144
CLSCTX_ACTIVATE_64_BIT_SERVER = 524288
CLSCTX_ENABLE_CLOAKING = 1048576
CLSCTX_APPCONTAINER = 4194304
CLSCTX_ACTIVATE_AAA_AS_IU = 8388608
CLSCTX_RESERVED6 = 16777216
CLSCTX_ACTIVATE_ARM32_SERVER = 33554432
CLSCTX_ALLOW_LOWER_TRUST_REGISTRATION = 67108864
CLSCTX_SERVER_MUST_BE_EQUAL_OR_GREATER_PRIVILEGE = 134217728
CLSCTX_DO_NOT_ELEVATE_SERVER = 268435456
CLSCTX_PS_DLL = 2147483648
CLSCTX_ALL = 23
CLSCTX_SERVER = 21
End Enumimport enum
class CLSCTX(enum.IntFlag):
CLSCTX_INPROC_SERVER = 1
CLSCTX_INPROC_HANDLER = 2
CLSCTX_LOCAL_SERVER = 4
CLSCTX_INPROC_SERVER16 = 8
CLSCTX_REMOTE_SERVER = 16
CLSCTX_INPROC_HANDLER16 = 32
CLSCTX_RESERVED1 = 64
CLSCTX_RESERVED2 = 128
CLSCTX_RESERVED3 = 256
CLSCTX_RESERVED4 = 512
CLSCTX_NO_CODE_DOWNLOAD = 1024
CLSCTX_RESERVED5 = 2048
CLSCTX_NO_CUSTOM_MARSHAL = 4096
CLSCTX_ENABLE_CODE_DOWNLOAD = 8192
CLSCTX_NO_FAILURE_LOG = 16384
CLSCTX_DISABLE_AAA = 32768
CLSCTX_ENABLE_AAA = 65536
CLSCTX_FROM_DEFAULT_CONTEXT = 131072
CLSCTX_ACTIVATE_X86_SERVER = 262144
CLSCTX_ACTIVATE_32_BIT_SERVER = 262144
CLSCTX_ACTIVATE_64_BIT_SERVER = 524288
CLSCTX_ENABLE_CLOAKING = 1048576
CLSCTX_APPCONTAINER = 4194304
CLSCTX_ACTIVATE_AAA_AS_IU = 8388608
CLSCTX_RESERVED6 = 16777216
CLSCTX_ACTIVATE_ARM32_SERVER = 33554432
CLSCTX_ALLOW_LOWER_TRUST_REGISTRATION = 67108864
CLSCTX_SERVER_MUST_BE_EQUAL_OR_GREATER_PRIVILEGE = 134217728
CLSCTX_DO_NOT_ELEVATE_SERVER = 268435456
CLSCTX_PS_DLL = 2147483648
CLSCTX_ALL = 23
CLSCTX_SERVER = 21// CLSCTX (flags)
pub const CLSCTX_INPROC_SERVER: u32 = 1;
pub const CLSCTX_INPROC_HANDLER: u32 = 2;
pub const CLSCTX_LOCAL_SERVER: u32 = 4;
pub const CLSCTX_INPROC_SERVER16: u32 = 8;
pub const CLSCTX_REMOTE_SERVER: u32 = 16;
pub const CLSCTX_INPROC_HANDLER16: u32 = 32;
pub const CLSCTX_RESERVED1: u32 = 64;
pub const CLSCTX_RESERVED2: u32 = 128;
pub const CLSCTX_RESERVED3: u32 = 256;
pub const CLSCTX_RESERVED4: u32 = 512;
pub const CLSCTX_NO_CODE_DOWNLOAD: u32 = 1024;
pub const CLSCTX_RESERVED5: u32 = 2048;
pub const CLSCTX_NO_CUSTOM_MARSHAL: u32 = 4096;
pub const CLSCTX_ENABLE_CODE_DOWNLOAD: u32 = 8192;
pub const CLSCTX_NO_FAILURE_LOG: u32 = 16384;
pub const CLSCTX_DISABLE_AAA: u32 = 32768;
pub const CLSCTX_ENABLE_AAA: u32 = 65536;
pub const CLSCTX_FROM_DEFAULT_CONTEXT: u32 = 131072;
pub const CLSCTX_ACTIVATE_X86_SERVER: u32 = 262144;
pub const CLSCTX_ACTIVATE_32_BIT_SERVER: u32 = 262144;
pub const CLSCTX_ACTIVATE_64_BIT_SERVER: u32 = 524288;
pub const CLSCTX_ENABLE_CLOAKING: u32 = 1048576;
pub const CLSCTX_APPCONTAINER: u32 = 4194304;
pub const CLSCTX_ACTIVATE_AAA_AS_IU: u32 = 8388608;
pub const CLSCTX_RESERVED6: u32 = 16777216;
pub const CLSCTX_ACTIVATE_ARM32_SERVER: u32 = 33554432;
pub const CLSCTX_ALLOW_LOWER_TRUST_REGISTRATION: u32 = 67108864;
pub const CLSCTX_SERVER_MUST_BE_EQUAL_OR_GREATER_PRIVILEGE: u32 = 134217728;
pub const CLSCTX_DO_NOT_ELEVATE_SERVER: u32 = 268435456;
pub const CLSCTX_PS_DLL: u32 = 2147483648;
pub const CLSCTX_ALL: u32 = 23;
pub const CLSCTX_SERVER: u32 = 21;// CLSCTX
const (
CLSCTX_INPROC_SERVER uint32 = 1
CLSCTX_INPROC_HANDLER uint32 = 2
CLSCTX_LOCAL_SERVER uint32 = 4
CLSCTX_INPROC_SERVER16 uint32 = 8
CLSCTX_REMOTE_SERVER uint32 = 16
CLSCTX_INPROC_HANDLER16 uint32 = 32
CLSCTX_RESERVED1 uint32 = 64
CLSCTX_RESERVED2 uint32 = 128
CLSCTX_RESERVED3 uint32 = 256
CLSCTX_RESERVED4 uint32 = 512
CLSCTX_NO_CODE_DOWNLOAD uint32 = 1024
CLSCTX_RESERVED5 uint32 = 2048
CLSCTX_NO_CUSTOM_MARSHAL uint32 = 4096
CLSCTX_ENABLE_CODE_DOWNLOAD uint32 = 8192
CLSCTX_NO_FAILURE_LOG uint32 = 16384
CLSCTX_DISABLE_AAA uint32 = 32768
CLSCTX_ENABLE_AAA uint32 = 65536
CLSCTX_FROM_DEFAULT_CONTEXT uint32 = 131072
CLSCTX_ACTIVATE_X86_SERVER uint32 = 262144
CLSCTX_ACTIVATE_32_BIT_SERVER uint32 = 262144
CLSCTX_ACTIVATE_64_BIT_SERVER uint32 = 524288
CLSCTX_ENABLE_CLOAKING uint32 = 1048576
CLSCTX_APPCONTAINER uint32 = 4194304
CLSCTX_ACTIVATE_AAA_AS_IU uint32 = 8388608
CLSCTX_RESERVED6 uint32 = 16777216
CLSCTX_ACTIVATE_ARM32_SERVER uint32 = 33554432
CLSCTX_ALLOW_LOWER_TRUST_REGISTRATION uint32 = 67108864
CLSCTX_SERVER_MUST_BE_EQUAL_OR_GREATER_PRIVILEGE uint32 = 134217728
CLSCTX_DO_NOT_ELEVATE_SERVER uint32 = 268435456
CLSCTX_PS_DLL uint32 = 2147483648
CLSCTX_ALL uint32 = 23
CLSCTX_SERVER uint32 = 21
)const
CLSCTX_INPROC_SERVER = 1;
CLSCTX_INPROC_HANDLER = 2;
CLSCTX_LOCAL_SERVER = 4;
CLSCTX_INPROC_SERVER16 = 8;
CLSCTX_REMOTE_SERVER = 16;
CLSCTX_INPROC_HANDLER16 = 32;
CLSCTX_RESERVED1 = 64;
CLSCTX_RESERVED2 = 128;
CLSCTX_RESERVED3 = 256;
CLSCTX_RESERVED4 = 512;
CLSCTX_NO_CODE_DOWNLOAD = 1024;
CLSCTX_RESERVED5 = 2048;
CLSCTX_NO_CUSTOM_MARSHAL = 4096;
CLSCTX_ENABLE_CODE_DOWNLOAD = 8192;
CLSCTX_NO_FAILURE_LOG = 16384;
CLSCTX_DISABLE_AAA = 32768;
CLSCTX_ENABLE_AAA = 65536;
CLSCTX_FROM_DEFAULT_CONTEXT = 131072;
CLSCTX_ACTIVATE_X86_SERVER = 262144;
CLSCTX_ACTIVATE_32_BIT_SERVER = 262144;
CLSCTX_ACTIVATE_64_BIT_SERVER = 524288;
CLSCTX_ENABLE_CLOAKING = 1048576;
CLSCTX_APPCONTAINER = 4194304;
CLSCTX_ACTIVATE_AAA_AS_IU = 8388608;
CLSCTX_RESERVED6 = 16777216;
CLSCTX_ACTIVATE_ARM32_SERVER = 33554432;
CLSCTX_ALLOW_LOWER_TRUST_REGISTRATION = 67108864;
CLSCTX_SERVER_MUST_BE_EQUAL_OR_GREATER_PRIVILEGE = 134217728;
CLSCTX_DO_NOT_ELEVATE_SERVER = 268435456;
CLSCTX_PS_DLL = 2147483648;
CLSCTX_ALL = 23;
CLSCTX_SERVER = 21;// CLSCTX
pub const CLSCTX_INPROC_SERVER: u32 = 1;
pub const CLSCTX_INPROC_HANDLER: u32 = 2;
pub const CLSCTX_LOCAL_SERVER: u32 = 4;
pub const CLSCTX_INPROC_SERVER16: u32 = 8;
pub const CLSCTX_REMOTE_SERVER: u32 = 16;
pub const CLSCTX_INPROC_HANDLER16: u32 = 32;
pub const CLSCTX_RESERVED1: u32 = 64;
pub const CLSCTX_RESERVED2: u32 = 128;
pub const CLSCTX_RESERVED3: u32 = 256;
pub const CLSCTX_RESERVED4: u32 = 512;
pub const CLSCTX_NO_CODE_DOWNLOAD: u32 = 1024;
pub const CLSCTX_RESERVED5: u32 = 2048;
pub const CLSCTX_NO_CUSTOM_MARSHAL: u32 = 4096;
pub const CLSCTX_ENABLE_CODE_DOWNLOAD: u32 = 8192;
pub const CLSCTX_NO_FAILURE_LOG: u32 = 16384;
pub const CLSCTX_DISABLE_AAA: u32 = 32768;
pub const CLSCTX_ENABLE_AAA: u32 = 65536;
pub const CLSCTX_FROM_DEFAULT_CONTEXT: u32 = 131072;
pub const CLSCTX_ACTIVATE_X86_SERVER: u32 = 262144;
pub const CLSCTX_ACTIVATE_32_BIT_SERVER: u32 = 262144;
pub const CLSCTX_ACTIVATE_64_BIT_SERVER: u32 = 524288;
pub const CLSCTX_ENABLE_CLOAKING: u32 = 1048576;
pub const CLSCTX_APPCONTAINER: u32 = 4194304;
pub const CLSCTX_ACTIVATE_AAA_AS_IU: u32 = 8388608;
pub const CLSCTX_RESERVED6: u32 = 16777216;
pub const CLSCTX_ACTIVATE_ARM32_SERVER: u32 = 33554432;
pub const CLSCTX_ALLOW_LOWER_TRUST_REGISTRATION: u32 = 67108864;
pub const CLSCTX_SERVER_MUST_BE_EQUAL_OR_GREATER_PRIVILEGE: u32 = 134217728;
pub const CLSCTX_DO_NOT_ELEVATE_SERVER: u32 = 268435456;
pub const CLSCTX_PS_DLL: u32 = 2147483648;
pub const CLSCTX_ALL: u32 = 23;
pub const CLSCTX_SERVER: u32 = 21;const
CLSCTX_INPROC_SERVER* = 1
CLSCTX_INPROC_HANDLER* = 2
CLSCTX_LOCAL_SERVER* = 4
CLSCTX_INPROC_SERVER16* = 8
CLSCTX_REMOTE_SERVER* = 16
CLSCTX_INPROC_HANDLER16* = 32
CLSCTX_RESERVED1* = 64
CLSCTX_RESERVED2* = 128
CLSCTX_RESERVED3* = 256
CLSCTX_RESERVED4* = 512
CLSCTX_NO_CODE_DOWNLOAD* = 1024
CLSCTX_RESERVED5* = 2048
CLSCTX_NO_CUSTOM_MARSHAL* = 4096
CLSCTX_ENABLE_CODE_DOWNLOAD* = 8192
CLSCTX_NO_FAILURE_LOG* = 16384
CLSCTX_DISABLE_AAA* = 32768
CLSCTX_ENABLE_AAA* = 65536
CLSCTX_FROM_DEFAULT_CONTEXT* = 131072
CLSCTX_ACTIVATE_X86_SERVER* = 262144
CLSCTX_ACTIVATE_32_BIT_SERVER* = 262144
CLSCTX_ACTIVATE_64_BIT_SERVER* = 524288
CLSCTX_ENABLE_CLOAKING* = 1048576
CLSCTX_APPCONTAINER* = 4194304
CLSCTX_ACTIVATE_AAA_AS_IU* = 8388608
CLSCTX_RESERVED6* = 16777216
CLSCTX_ACTIVATE_ARM32_SERVER* = 33554432
CLSCTX_ALLOW_LOWER_TRUST_REGISTRATION* = 67108864
CLSCTX_SERVER_MUST_BE_EQUAL_OR_GREATER_PRIVILEGE* = 134217728
CLSCTX_DO_NOT_ELEVATE_SERVER* = 268435456
CLSCTX_PS_DLL* = 2147483648
CLSCTX_ALL* = 23
CLSCTX_SERVER* = 21enum CLSCTX : uint {
CLSCTX_INPROC_SERVER = 1,
CLSCTX_INPROC_HANDLER = 2,
CLSCTX_LOCAL_SERVER = 4,
CLSCTX_INPROC_SERVER16 = 8,
CLSCTX_REMOTE_SERVER = 16,
CLSCTX_INPROC_HANDLER16 = 32,
CLSCTX_RESERVED1 = 64,
CLSCTX_RESERVED2 = 128,
CLSCTX_RESERVED3 = 256,
CLSCTX_RESERVED4 = 512,
CLSCTX_NO_CODE_DOWNLOAD = 1024,
CLSCTX_RESERVED5 = 2048,
CLSCTX_NO_CUSTOM_MARSHAL = 4096,
CLSCTX_ENABLE_CODE_DOWNLOAD = 8192,
CLSCTX_NO_FAILURE_LOG = 16384,
CLSCTX_DISABLE_AAA = 32768,
CLSCTX_ENABLE_AAA = 65536,
CLSCTX_FROM_DEFAULT_CONTEXT = 131072,
CLSCTX_ACTIVATE_X86_SERVER = 262144,
CLSCTX_ACTIVATE_32_BIT_SERVER = 262144,
CLSCTX_ACTIVATE_64_BIT_SERVER = 524288,
CLSCTX_ENABLE_CLOAKING = 1048576,
CLSCTX_APPCONTAINER = 4194304,
CLSCTX_ACTIVATE_AAA_AS_IU = 8388608,
CLSCTX_RESERVED6 = 16777216,
CLSCTX_ACTIVATE_ARM32_SERVER = 33554432,
CLSCTX_ALLOW_LOWER_TRUST_REGISTRATION = 67108864,
CLSCTX_SERVER_MUST_BE_EQUAL_OR_GREATER_PRIVILEGE = 134217728,
CLSCTX_DO_NOT_ELEVATE_SERVER = 268435456,
CLSCTX_PS_DLL = 2147483648,
CLSCTX_ALL = 23,
CLSCTX_SERVER = 21,
}#define global CLSCTX_INPROC_SERVER 0x1
#define global CLSCTX_INPROC_HANDLER 0x2
#define global CLSCTX_LOCAL_SERVER 0x4
#define global CLSCTX_INPROC_SERVER16 0x8
#define global CLSCTX_REMOTE_SERVER 0x10
#define global CLSCTX_INPROC_HANDLER16 0x20
#define global CLSCTX_RESERVED1 0x40
#define global CLSCTX_RESERVED2 0x80
#define global CLSCTX_RESERVED3 0x100
#define global CLSCTX_RESERVED4 0x200
#define global CLSCTX_NO_CODE_DOWNLOAD 0x400
#define global CLSCTX_RESERVED5 0x800
#define global CLSCTX_NO_CUSTOM_MARSHAL 0x1000
#define global CLSCTX_ENABLE_CODE_DOWNLOAD 0x2000
#define global CLSCTX_NO_FAILURE_LOG 0x4000
#define global CLSCTX_DISABLE_AAA 0x8000
#define global CLSCTX_ENABLE_AAA 0x10000
#define global CLSCTX_FROM_DEFAULT_CONTEXT 0x20000
#define global CLSCTX_ACTIVATE_X86_SERVER 0x40000
#define global CLSCTX_ACTIVATE_32_BIT_SERVER 0x40000
#define global CLSCTX_ACTIVATE_64_BIT_SERVER 0x80000
#define global CLSCTX_ENABLE_CLOAKING 0x100000
#define global CLSCTX_APPCONTAINER 0x400000
#define global CLSCTX_ACTIVATE_AAA_AS_IU 0x800000
#define global CLSCTX_RESERVED6 0x1000000
#define global CLSCTX_ACTIVATE_ARM32_SERVER 0x2000000
#define global CLSCTX_ALLOW_LOWER_TRUST_REGISTRATION 0x4000000
#define global CLSCTX_SERVER_MUST_BE_EQUAL_OR_GREATER_PRIVILEGE 0x8000000
#define global CLSCTX_DO_NOT_ELEVATE_SERVER 0x10000000
#define global CLSCTX_PS_DLL 0x80000000
#define global CLSCTX_ALL 0x17
#define global CLSCTX_SERVER 0x15
; ※フラグ列挙型。ビットORで組み合わせ可(例: FOO|BAR)。