다음을 통해 공유


MddAddPackageDependency 함수(msixdynamicdependency.h)

지정된 옵션과 함께 MddTryCreatePackageDependency 메서드를 사용하여 이전에 만든 프레임워크 패키지 종속성에 대한 런타임 참조를 추가합니다. 이 메서드가 성공적으로 반환되면 앱이 형식을 활성화하고 프레임워크 패키지의 콘텐츠를 사용할 수 있습니다.

구문론

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

매개 변수

packageDependencyId

형식: PCWSTR

확인할 패키지 종속성의 ID이며 호출 프로세스의 패키지 그래프에 추가됩니다. 이 매개 변수는 호출 사용자 또는 시스템(ScopeIsSystem 옵션을 통해)에 대해 TryCreatePackageDependency 함수를 사용하여 정의된 패키지 종속성과 일치해야 합니다. 그렇지 않으면 오류가 반환됩니다.

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 호출과 동일한 순위를 가진 패키지 그래프에 여러 패키지가 있는 경우 확인된 패키지는 기본적으로 동일한 순위의 다른 패키지에 추가됩니다. 동일한 순위의 다른 사용자 앞에 패키지를 추가하려면 옵션 매개 변수에 PrependIfRankCollision 지정합니다.

자세한 내용은 동적 종속성 API를 사용하여 런타임MSIX 패키지를 참조하세요.

요구 사항

요구 사항 가치
지원되는 최소 클라이언트 Windows 10 버전 1809(Windows 앱 SDK 1.0 이상 포함)
헤더 msixdynamicdependency.h

참고하십시오

MddRemovePackageDependency

mddTryCreatePackageDependency

동적 종속성 API를 사용하여 런타임 시 MSIX 패키지를 참조합니다