Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Agrega una referencia en tiempo de ejecución para la dependencia del paquete de marco que creó anteriormente mediante el método MddTryCreatePackageDependency, con las opciones especificadas. Después de que este método se devuelva correctamente, la aplicación puede activar tipos y usar contenido del paquete de marco.
Sintaxis
HRESULT MddAddPackageDependency(
PCWSTR packageDependencyId,
INT32 rank,
MddAddPackageDependencyOptions options,
MDD_PACKAGEDEPENDENCY_CONTEXT *packageDependencyContext,
PWSTR *packageFullName
) noexcept;
Parámetros
packageDependencyId
Tipo: PCWSTR
Identificador de la dependencia del paquete que se va a resolver y agregar al gráfico de paquetes del proceso de invocación. Este parámetro debe coincidir con una dependencia de paquete definida mediante el función TryCreatePackageDependency para el usuario que realiza la llamada o el sistema (mediante la opción ScopeIsSystem) o, de lo contrario, se devuelve un error.
rank
Tipo: INT32
Rango que se va a usar para agregar el paquete resuelto al gráfico de paquetes del autor de la llamada. Para obtener más información, vea los comentarios.
options
Tipo: mddAddPackageDependencyOptions
Las opciones que se aplicarán al agregar la dependencia del paquete.
packageDependencyContext
Tipo: PACKAGEDEPENDENCY_CONTEXT*
Identificador de la dependencia de paquete agregada. Este identificador es válido hasta que se pasa a RemovePackageDependency.
packageFullName
Tipo: PCWSTR*
Nombre completo del paquete al que se ha resuelto la dependencia. Use la función HeapAlloc para asignar memoria para este parámetro y use HeapFree para desasignar la memoria.
Valor devuelto
Tipo: HRESULT
Si la función se realiza correctamente, devuelve ERROR_SUCCESS. De lo contrario, la función devuelve un código de error. Los códigos de error posibles incluyen lo siguiente.
| Código de retorno | Descripción |
|---|---|
| E_INVALIDARG | El packageDependencyId o parámetro packageDependencyContext es NULL en la entrada. |
Observaciones
Al llamar a este método, se resuelve la dependencia del paquete de marco en un paquete específico del sistema. También informa al sistema operativo de que el paquete de marco está activo y para controlar las actualizaciones de versiones de forma en paralelo (retrasar eficazmente la desinstalación o mantenimiento de la versión anterior hasta que la aplicación haya terminado de usarlo). La resolución de paquetes es específica de un usuario y puede devolver valores diferentes para distintos usuarios de un sistema.
Cada llamada mddAddPackageDependency agrega el paquete resuelto al gráfico de paquetes del proceso de llamada, incluso si ya está presente. La API no aplica ninguna detección o filtrado duplicados (es decir, varias referencias de un paquete no son perjudiciales). Una vez completada la resolución, la dependencia del paquete permanece resuelta para ese usuario hasta que la última referencia en todos los procesos de ese usuario se quita a través de mddRemovePackageDependency o el proceso finaliza. Las llamadas correctas a este método cambian el valor de identificador de generación devuelto por MddGetGenerationId.
Después de que este método vuelva correctamente, la aplicación puede activar tipos y usar contenido desde el paquete de marco hasta que se llame a se llama a mddRemovePackageDependency.
Si hay varios paquetes presentes en el gráfico de paquetes con la misma clasificación que la llamada a MddAddPackageDependency, el paquete resuelto se agrega (de forma predeterminada) después de otros de la misma clasificación. Para agregar un paquete antes de que otros de la misma clasificación, especifique PrependIfRankCollision para las opciones de parámetro.
Para obtener más información, consulte Usar la API de dependencia dinámica para hacer referencia a paquetes MSIX en tiempo de ejecución.
Requisitos
| Requisito | Valor |
|---|---|
| cliente mínimo admitido | Windows 10, versión 1809 (con Windows App SDK 1.0 o posterior) |
| encabezado | msixdynamicdependency.h |
Consulte también
Usar la API de dependencia dinámica para hacer referencia a paquetes MSIX en tiempo de ejecución