MddAddPackageDependency 関数 (msixdynamicdependency.h)
指定したオプションを使用して MddTryCreatePackageDependency メソッドを使用して、前に作成したフレームワーク パッケージ依存関係のランタイム参照を追加します。 このメソッドが正常に返された後、アプリは型をアクティブ化し、フレームワーク パッケージのコンテンツを使用できます。
構文
HRESULT MddAddPackageDependency(
PCWSTR packageDependencyId,
INT32 rank,
MddAddPackageDependencyOptions options,
MDD_PACKAGEDEPENDENCY_CONTEXT *packageDependencyContext,
PWSTR *packageFullName
) noexcept;
パラメーター
packageDependencyId
種類: PCWSTR
解決され、呼び出し元プロセスのパッケージ グラフに追加されるパッケージ依存関係の ID。 このパラメーターは、呼び出し元のユーザーまたはシステムに 対して TryCreatePackageDependency 関数を使用して定義されたパッケージの依存関係と一致する必要があります ( ScopeIsSystem オプションを使用)。
rank
種類: INT32
解決されたパッケージを呼び出し元のパッケージ グラフに追加するために使用するランク。 詳細については、備考を参照してください。
options
種類: MddAddPackageDependencyOptions
パッケージの依存関係を追加するときに適用するオプション。
packageDependencyContext
種類: PACKAGEDEPENDENCY_CONTEXT*
追加されたパッケージ依存関係のハンドル。 このハンドルは、 RemovePackageDependency に渡されるまで有効です。
packageFullName
種類: PCWSTR*
依存関係が解決されたパッケージの完全な名前。 HeapAlloc 関数を使用してこのパラメーターのメモリを割り当て、HeapFree を使用してメモリの割り当てを解除します。
戻り値
種類: HRESULT
関数が成功すると、 ERROR_SUCCESSが返されます。 それ以外の場合、関数はエラー コードを返します。 考えられるエラー コードは次のとおりです。
リターン コード | 説明 |
---|---|
E_INVALIDARG | packageDependencyId または packageDependencyContext パラメーターは、入力時に NULL です。 |
注釈
このメソッドを呼び出すと、フレームワーク パッケージの依存関係がシステム上の特定のパッケージに解決されます。 また、フレームワーク パッケージがアクティブに使用されていること、およびすべてのバージョン更新プログラムをサイド バイ サイドで処理することも OS に通知します (アプリの使用が完了するまで、古いバージョンのアンインストールやその他のサービスを実質的に遅らせます)。 パッケージ解決はユーザーに固有であり、システム上のさまざまなユーザーに対して異なる値を返すことができます。
MddAddPackageDependency 呼び出しが成功するたびに、既に存在する場合でも、解決されたパッケージが呼び出し元プロセスのパッケージ グラフに追加されます。 API によって重複する検出やフィルター処理は適用されません (つまり、パッケージからの複数の参照は有害ではありません)。 解決が完了すると、そのユーザーの最後の参照が MddRemovePackageDependency 経由で削除されるか、プロセスが終了するまで、そのユーザーのパッケージ依存関係は解決された状態を維持します。 このメソッドの呼び出しが成功すると、 MddGetGenerationId によって返される生成 ID 値が変更されます。
このメソッドが正常に返された後、 MddRemovePackageDependency が呼び出されるまで、アプリは型をアクティブ化し、フレームワーク パッケージのコンテンツを使用できます。
MddAddPackageDependency の呼び出しと同じランクを持つパッケージ グラフに複数のパッケージが存在する場合、解決されたパッケージは (既定では) 同じランクの他のパッケージの後に追加されます。 同じランクの他のユーザーの前にパッケージを追加するには、options パラメーターに PrependIfRankCollision を指定します。
詳細については、「 動的依存関係 API を使用して実行時に MSIX パッケージを参照する」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 10 Version 1809 (Windows アプリ SDK 1.0 以降) |
Header | msixdynamicdependency.h |