使用並置元件作為資源
您可以將清單作為資源,新增至應用程式的二進位可執行文件的頭檔。 MANIFEST_RESOURCE_ID的值會決定載入器如何使用指令清單中所述的並存元件相依性。
如果您將MANIFEST_RESOURCE_ID設為 1,載入器會使用指令清單中指定的並存元件相依性做為進程預設值。 所有外掛程式也會使用此進程預設值。
下表概述了應用程式在使用 -DISOLATION_AWARE_ENABLED 旗標編譯時,載入器如何針對不同的 MANIFEST_RESOURCE_ID 值使用指令清單。 請注意,值 1-16 會保留供 Windows XP 使用。 如果開發人員想要使用 啟用內容參考中所述的函式來管理啟用內容,則可能會使用其他值。
MANIFEST_RESOURCE_ID的值 | 指令清單會指定進程預設值? | 要用於靜態匯入嗎? | 用於 EXE 檔案? | 用於 DLL 嗎? | 如果使用 -DISOLATION_AWARE_ENABLED 編譯,是否會使用並存版本的元件? |
---|---|---|---|---|---|
1 | 是的 | 是的 | 是的 | 不 | 是的 |
2 | 不 | 是的 | 是的 | 是的 | 是的 |
3 | 不 | 不 | 是的 | 是的 | 是的 |
MANIFEST_RESOURCE_ID 1 應該用於未載入外掛程式的應用程式。當應用程式的所有部分都應該使用指令清單中指定的並存元件版本時,請使用 MANIFEST_RESOURCE_ID 1。 如需詳細資訊,請參閱 在不使用延伸模組的應用程式中啟用元件。
MANIFEST_RESOURCE_ID 2 應該用於托管第三方控制項或外掛程式的應用程式。在此情況下,清單會影響所有由靜態載入、對 DllMain 的呼叫,以及由 -DISOLATION_AWARE_ENABLED 重新導向的呼叫所載入的並存元件。 如需詳細資訊,請參閱 在載入 DLL、擴充功能或控制面板的應用程式中啟用元件。
MANIFEST_RESOURCE_ID 3應僅由-DISOLATION_AWARE_ENABLED用於重新導向呼叫。 其他方法的載入不會受到影響。