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 建立啟用內容時會失敗,並傳回無效的參數錯誤碼。
lpSource
以 Null 結尾的字串,指定要用來建立啟用內容之指令清單檔或 PE 映射的路徑。 如果此路徑參考 EXE 或 DLL 檔案,則需要 lpResourceName 成員。
wProcessorArchitecture
識別使用的處理器類型。 指定系統的處理器架構。
此值可以是下列其中一個值:
wLangId
指定應該使用的語言指令清單。 預設值為目前使用者的目前UI語言。
如果找不到要求的語言,則會使用下列順序來搜尋近似值:
- 目前使用者的特定語言。 例如,針對美國英文(1033)。
- 目前使用者的主要語言。 例如,針對英文 (9)。
- 目前系統的特定語言。
- 目前系統的主要語言。
- 非特定全球語言。 語言中性(0)。
lpAssemblyDirectory
如果啟用內容中的元件不存在於全系統存放區中,則執行私用元件探查的基底目錄。
lpResourceName
Null 終止字串的指標,其中包含要從 hModule 或 lpSource中所指定的 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。
當建立啟用內容之可執行檔是應用程式的主機時,lpApplicationName 和 lpAssemblyDirectory 的值不會設定為 null。 在此情況下,主機可以為應用程式設定不同的名稱,以尋找組態檔、報告錯誤等等。
注意
winbase.h 標頭會將 ACTCTX 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
支援的最低伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
標頭 | winbase.h (包括 Windows.h) |