ACTCTXA 構造体 (winbase.h)

ACTCTX 構造体は、アクティブ化コンテキストを作成するために CreateActCtx 関数によって使用されます。

構文

typedef struct tagACTCTXA {
  ULONG   cbSize;
  DWORD   dwFlags;
  LPCSTR  lpSource;
  USHORT  wProcessorArchitecture;
  LANGID  wLangId;
  LPCSTR  lpAssemblyDirectory;
  LPCSTR  lpResourceName;
  LPCSTR  lpApplicationName;
  HMODULE hModule;
} ACTCTXA, *PACTCTXA;

メンバー

cbSize

この構造体のサイズ (バイト単位)。 これは、この構造体のバージョンを決定するために使用されます。

dwFlags

この構造体に含まれる値の使用方法を示すフラグ。 dwFlags の未定義のビットを 0 に設定します。 未定義のビットが 0 に設定されていない場合、アクティブ化コンテキストを作成する CreateActCtx の呼び出しは失敗し、無効なパラメーター エラー コードを返します。

ビット フラグ 意味
ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID
1
0x001
ACTCTX_FLAG_LANGID_VALID
2
0x002
ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID
4
0x004
ACTCTX_FLAG_RESOURCE_NAME_VALID
8
0x008
ACTCTX_FLAG_SET_PROCESS_DEFAULT
16
0x010
ACTCTX_FLAG_APPLICATION_NAME_VALID
32
0x020
ACTCTX_FLAG_HMODULE_VALID
128
0x080

lpSource

アクティブ化コンテキストの作成に使用するマニフェスト ファイルまたは PE イメージのパスを指定する Null で終わる文字列。 このパスが EXE または DLL ファイルを参照している場合は、 lpResourceName メンバーが必要です。

wProcessorArchitecture

使用されるプロセッサの種類を識別します。 システムのプロセッサ アーキテクチャを指定します。

この値には、次のいずれかの値を指定できます。

wLangId

使用する言語マニフェストを指定します。 既定値は、現在のユーザーの現在の UI 言語です。

要求された言語が見つからない場合は、次の順序で近似値が検索されます。

  • 現在のユーザーの特定の言語。 たとえば、米国英語 (1033) の場合です。
  • 現在のユーザーのプライマリ言語。 たとえば、英語 (9) の場合です。
  • 現在のシステムの特定の言語。
  • 現在のシステムのプライマリ言語。
  • 非特定の世界言語。 言語に依存しない (0)。

lpAssemblyDirectory

アクティブ化コンテキストのアセンブリがシステム全体のストアに存在しない場合にプライベート アセンブリプローブを実行するベース ディレクトリ。

lpResourceName

hModule または lpSource で指定された PE から読み込まれるリソース名を含む null で終わる文字列へのポインター。 リソース名が整数の場合は、MAKEINTRESOURCE を使用してこのメンバーを設定します。 lpSource が EXE または DLL を参照している場合は、このメンバーが必要です。

lpApplicationName

現在のアプリケーションの名前。 このメンバーの値が null に設定されている場合は、現在のプロセスを起動した実行可能ファイルの名前が使用されます。

hModule

既に DLL を読み込み、 lpSource で パスを使用するのではなく、アクティブ化コンテキストを作成するために使用する場合は、 lpSource ではなくこのメンバーを使用します。 このモジュールのリソースを検索するルールについては、 lpResourceName を参照してください。

注釈

lpSource メンバーの値で識別されるファイルが PE イメージ ファイルの場合、CreateActCtx は、同じディレクトリにある .manifest ファイル内のマニフェストと、PE イメージ ファイル内にある最初のRT_MANIFEST リソース内でマニフェストを検索します。 イメージから特定の名前付きリソースを検索するには、 lpResourceName にリソースの名前を設定し、 dwFlags メンバーにACTCTX_FLAG_RESOURCE_NAME_VALIDを追加します。 リソース名の指定の詳細については、「 FindResource 」を参照してください。

ほとんどの場合、呼び出し元は dwFlags メンバーのACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALIDフラグとACTCTX_FLAG_LANGID_VALIDフラグを設定しないでください。 また、ほとんどの場合、 lpResourceName メンバーの値を null に設定する必要があります。

アクティブ化コンテキストを作成する実行可能ファイルがアプリケーションのホストである場合、 lpApplicationNamelpAssemblyDirectory の値は null に設定されません。 この場合、ホストは、構成ファイルを検索したり、エラーを報告したりするために、アプリケーションに別の名前を設定できます。

注意

winbase.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして ACTCTX を定義します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
Header winbase.h (Windows.h を含む)

こちらもご覧ください

ACTCTX_SECTION_KEYED_DATA

CreateActCtx