共用方式為


mddAddPackageDependency 函式 (msixdynamicdependency.h)

使用 MddTryCreatePackageDependency 方法,新增您稍早建立之架構套件相依性的運行時間參考,以及指定的選項。 在此方法成功傳回之後,您的應用程式可以啟動類型和使用架構套件的內容。

語法

HRESULT MddAddPackageDependency(
  PCWSTR                         packageDependencyId,
  INT32                          rank,
  MddAddPackageDependencyOptions options,
  MDD_PACKAGEDEPENDENCY_CONTEXT  *packageDependencyContext,
  PWSTR                          *packageFullName
) noexcept;

參數

packageDependencyId

類型: PCWSTR

要解析的封裝相依性標識符,並新增至叫用程式的封裝圖形。 此參數必須符合使用 TryCreatePackageDependency 函式定義的套件相依性,才能透過 ScopeIsSystem 選項) 呼叫使用者或系統 (,否則會傳回錯誤。

rank

類型: INT32

用來將已解析的封裝加入呼叫端套件圖形的排名。 如需詳細資訊,請參閱備註。

options

類型: MddAddPackageDependencyOptions

新增套件相依性時要套用的選項。

packageDependencyContext

類型: PACKAGEDEPENDENCY_CONTEXT*

已新增套件相依性句柄。 此句柄有效,直到傳遞至 RemovePackageDependency 為止。

packageFullName

類型: PCWSTR*

已解析相依性之封裝的完整名稱。 使用 HeapAlloc 函式來配置此參數的記憶體,並使用 HeapFree 解除分配記憶體。

傳回值

類型: HRESULT

如果函式成功,它會傳回 ERROR_SUCCESS。 否則,函式會傳回錯誤碼。 可能的錯誤碼包括下列各項。

傳回碼 描述
E_INVALIDARG packageDependencyIdpackageDependencyContext 參數在輸入時為 NULL。

備註

呼叫這個方法會將架構套件相依性解析為系統上的特定套件。 它也會通知操作系統架構套件正在使用中,並排處理任何版本更新, (有效地延遲卸載或維護較舊版本,直到您的應用程式使用完成) 為止。 套件解析是使用者特有的,而且可以針對系統上的不同用戶傳回不同的值。

每個成功的 MddAddPackageDependency 呼叫都會將已解析的套件新增至呼叫程式的封裝圖形,即使已經存在也一樣。 API (不會套用重複的偵測或篩選,也就是說,來自套件的多個參考不會有害) 。 解決完成之後,套件相依性會維持為該使用者解析,直到透過 MddRemovePackageDependency 移除該使用者之所有進程的最後一個參考,或進程終止為止。 成功呼叫此方法會變更 MddGetGenerationId 所傳回的世代標識碼。

在此方法成功傳回之後,您的應用程式可以啟動類型和使用架構套件中的內容,直到呼叫 MddRemovePackageDependency 為止。

如果套件圖表中有多個套件,其排名與呼叫 MddAddPackageDependency 相同,則解析的套件預設會 () 新增至相同排名的其他人之後。 若要在相同排名的其他套件之前新增套件,請為 options 參數指定 PrependIfRankCollision

如需詳細資訊,請參閱 使用動態相依性 API 在運行時間參考 MSIX 套件

規格需求

需求
最低支援的用戶端 Windows 10 版本 1809 (Windows 應用程式 SDK 1.0 或更新版本)
標頭 msixdynamicdependency.h

另請參閱

MddRemovePackageDependency

MddTryCreatePackageDependency

使用動態相依性 API 在運行時間參考 MSIX 套件