PackageExtensionCatalog.PackageStatusChanged 事件
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
當目錄中的擴充功能套件已移除、更新或安裝時引發的事件。
// Register
event_token PackageStatusChanged(TypedEventHandler<PackageExtensionCatalog, PackageExtensionPackageStatusChangedEventArgs const&> const& handler) const;
// Revoke with event_token
void PackageStatusChanged(event_token const* cookie) const;
// Revoke with event_revoker
PackageExtensionCatalog::PackageStatusChanged_revoker PackageStatusChanged(auto_revoke_t, TypedEventHandler<PackageExtensionCatalog, PackageExtensionPackageStatusChangedEventArgs const&> const& handler) const;
public event TypedEventHandler<PackageExtensionCatalog,PackageExtensionPackageStatusChangedEventArgs> PackageStatusChanged;
function onPackageStatusChanged(eventArgs) { /* Your code */ }
packageExtensionCatalog.addEventListener("packagestatuschanged", onPackageStatusChanged);
packageExtensionCatalog.removeEventListener("packagestatuschanged", onPackageStatusChanged);
- or -
packageExtensionCatalog.onpackagestatuschanged = onPackageStatusChanged;
Public Custom Event PackageStatusChanged As TypedEventHandler(Of PackageExtensionCatalog, PackageExtensionPackageStatusChangedEventArgs)
事件類型
備註
此事件可協助您識別套件不再可用、有效或已修改的時間。 處理此事件,以判斷延伸模組可能不再有效,且應該停用。 此事件的常見用法是偵測提供延伸模組的套件是否安裝在卸載式媒體上。 如果使用者移除包含封裝的媒體,則會針對該套件引發此事件。
PackageStatus類別提供可能的套件狀態。
使用 PackageStatus.VerifyIsOk 來判斷套件是否處於良好狀況。 如果傳回 false,您可以檢查 PackageStatus.LicenseIssue 或 PackageStatus.PackageOffline ,並針對這些情況提供特殊處理。 一般而言,如果套件狀態不是 [確定],您應該將其停用。 每當您即將載入擴充功能時,呼叫 PackageStatus.VerifyIsOk 是個不錯的做法。
請考慮處理此事件,以提供延伸模組管理員 UI 中的指標,指出擴充功能已停用或無法使用,因為套件發生問題。
繼續處理此事件,即使您確定套件發生問題,因為使用者可能會更新套件,而且可能是 [確定] 載入。
如同 PackageUpdating 和 PackageUninstalling,此事件只會傳遞具有已變更狀態的 Package 。 您必須符合您已載入的PackageExtensions 套件,以判斷哪些延伸模組受到狀態變更的影響。