共用方式為


ACTCTXA 結構 (winbase.h)

CREATEActCtx 函式會使用 ACTCTX 結構來建立啟用內容。

語法

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

以 Null 結束的字串,指定要用來建立啟用內容的指令清單檔或 PE 映射路徑。 如果此路徑參考 EXE 或 DLL 檔案,則需要 lpResourceName 成員。

wProcessorArchitecture

識別使用的處理器類型。 指定系統的處理器架構。

此值可以是下列其中一個值:

wLangId

指定應該使用的語言指令清單。 預設值為目前使用者的目前UI語言。

如果找不到要求的語言,則會使用下列順序搜尋近似值:

  • 目前使用者的特定語言。 例如,針對美國英文 (1033) 。
  • 目前使用者的主要語言。 例如,針對英文 (9) 。
  • 目前系統的特定語言。
  • 目前系統的主要語言。
  • 非特定全球語言。 語言中性 (0) 。

lpAssemblyDirectory

如果啟用內容中的元件不存在於全系統存放區中,則執行私用元件探查的基底目錄。

lpResourceName

Null 終止字串的指標,其中包含要從 hModulelpSource 中指定的 PE 載入的資源名稱。 如果資源名稱是整數,請使用MAKEINTRESOURCE設定此成員。 如果 lpSource 參考 EXE 或 DLL,則需要此成員。

lpApplicationName

目前應用程式的名稱。 如果這個成員的值設定為 null,則會使用啟動目前進程的可執行檔名稱。

hModule

如果您已經載入 DLL 並想要使用它來建立啟用內容,而不是使用 lpSource 中的路徑,請使用這個成員,而不是 lpSource。 如需在此課程模組中查閱資源的規則,請參閱 lpResourceName

備註

如果 lpSource 成員的值所識別的檔案是 PE 映射檔, CreateActCtx 會在位於相同目錄的 .manifest 檔案中,以及位於 PE 映射檔的第一個RT_MANIFEST資源中搜尋指令清單。 若要從映像尋找特定的具名資源,請將 lpResourceName 設定為資源的名稱,並將ACTCTX_FLAG_RESOURCE_NAME_VALID新增至 dwFlags 成員。 如需指定資源名稱的詳細資訊,請參閱 FindResource

在大部分情況下,呼叫端不應該設定 dwFlags 成員的ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID和ACTCTX_FLAG_LANGID_VALID旗標。 此外,在大部分情況下, lpResourceName 成員的值應該設定為 null。

當建立啟用內容的可執行檔是應用程式的主機時, lpApplicationNamelpAssemblyDirectory 的值不會設定為 Null。 在此情況下,主機可以為應用程式設定不同的名稱,以尋找組態檔、報告錯誤等等。

注意

winbase.h 標頭會將 ACTCTX 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限傳統型應用程式]
標頭 winbase.h (包含 Windows.h)

另請參閱

ACTCTX_SECTION_KEYED_DATA

CreateActCtx