//
// Copyright (c) Microsoft Corporation. All rights reserved.
// 
//
// File generated by WinMDIDL version 8.00.0021
//

import "inspectable.idl";
import "AsyncInfo.idl";
import "EventToken.idl";
import "windowscontracts.idl";
import "Windows.Foundation.idl";
import "Windows.ApplicationModel.idl";
import "Windows.System.idl";
import "Windows.Web.Http.idl";

// Forward Declare
namespace Windows
{
    namespace ApplicationModel
    {
        runtimeclass Package;
    }
}
namespace Windows
{
    namespace Foundation
    {
        typedef struct DateTime DateTime;

        interface IAsyncAction;

        interface IClosable;

        typedef struct TimeSpan TimeSpan;

        runtimeclass Uri;
    }
}
namespace Windows
{
    namespace System
    {
        runtimeclass User;
    }
}
namespace Windows
{
    namespace Web
    {
        namespace Http
        {
            typedef enum HttpStatusCode HttpStatusCode;
        }
    }
}
namespace Windows
{
    namespace Services
    {
        namespace Store
        {
            apicontract StoreContract;

            typedef enum StoreCanLicenseStatus StoreCanLicenseStatus;

            typedef enum StoreConsumableStatus StoreConsumableStatus;

            typedef enum StoreDurationUnit StoreDurationUnit;

            typedef enum StorePackageUpdateState StorePackageUpdateState;

            typedef enum StorePurchaseStatus StorePurchaseStatus;

            typedef enum StoreQueueItemExtendedState StoreQueueItemExtendedState;

            typedef enum StoreQueueItemKind StoreQueueItemKind;

            typedef enum StoreQueueItemState StoreQueueItemState;

            typedef enum StoreRateAndReviewStatus StoreRateAndReviewStatus;

            typedef enum StoreUninstallStorePackageStatus StoreUninstallStorePackageStatus;

            typedef struct StorePackageUpdateStatus StorePackageUpdateStatus;

            interface IStoreAcquireLicenseResult;

            interface IStoreAppLicense;

            interface IStoreAppLicense2;

            interface IStoreAvailability;

            interface IStoreCanAcquireLicenseResult;

            interface IStoreCollectionData;

            interface IStoreConsumableResult;

            interface IStoreContext;

            interface IStoreContext2;

            interface IStoreContext3;

            interface IStoreContext4;

            interface IStoreContext5;

            interface IStoreContextStatics;

            interface IStoreImage;

            interface IStoreLicense;

            interface IStorePackageInstallOptions;

            interface IStorePackageLicense;

            interface IStorePackageUpdate;

            interface IStorePackageUpdateResult;

            interface IStorePackageUpdateResult2;

            interface IStorePrice;

            interface IStorePrice2;

            interface IStoreProduct;

            interface IStoreProductOptions;

            interface IStoreProductPagedQueryResult;

            interface IStoreProductQueryResult;

            interface IStoreProductResult;

            interface IStorePurchaseProperties;

            interface IStorePurchasePropertiesFactory;

            interface IStorePurchaseResult;

            interface IStoreQueueItem;

            interface IStoreQueueItem2;

            interface IStoreQueueItemCompletedEventArgs;

            interface IStoreQueueItemStatus;

            interface IStoreRateAndReviewResult;

            interface IStoreRequestHelperStatics;

            interface IStoreSendRequestResult;

            interface IStoreSendRequestResult2;

            interface IStoreSku;

            interface IStoreSubscriptionInfo;

            interface IStoreUninstallStorePackageResult;

            interface IStoreVideo;

            runtimeclass StoreAcquireLicenseResult;

            runtimeclass StoreAppLicense;

            runtimeclass StoreAvailability;

            runtimeclass StoreCanAcquireLicenseResult;

            runtimeclass StoreCollectionData;

            runtimeclass StoreConsumableResult;

            runtimeclass StoreContext;

            runtimeclass StoreImage;

            runtimeclass StoreLicense;

            runtimeclass StorePackageInstallOptions;

            runtimeclass StorePackageLicense;

            runtimeclass StorePackageUpdate;

            runtimeclass StorePackageUpdateResult;

            runtimeclass StorePrice;

            runtimeclass StoreProduct;

            runtimeclass StoreProductOptions;

            runtimeclass StoreProductPagedQueryResult;

            runtimeclass StoreProductQueryResult;

            runtimeclass StoreProductResult;

            runtimeclass StorePurchaseProperties;

            runtimeclass StorePurchaseResult;

            runtimeclass StoreQueueItem;

            runtimeclass StoreQueueItemCompletedEventArgs;

            runtimeclass StoreQueueItemStatus;

            runtimeclass StoreRateAndReviewResult;

            runtimeclass StoreRequestHelper;

            runtimeclass StoreSendRequestResult;

            runtimeclass StoreSku;

            runtimeclass StoreSubscriptionInfo;

            runtimeclass StoreUninstallStorePackageResult;

            runtimeclass StoreVideo;
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace Services
    {
        namespace Store
        {
            declare
            {
                interface Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.Services.Store.StoreLicense*>*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.Services.Store.StoreProduct*>*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Services.Store.StoreAvailability*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Services.Store.StoreImage*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Services.Store.StorePackageUpdate*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Services.Store.StorePackageUpdateStatus>;

                interface Windows.Foundation.Collections.IIterable<Windows.Services.Store.StoreQueueItem*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Services.Store.StoreSku*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Services.Store.StoreVideo*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.Services.Store.StoreLicense*>*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.Services.Store.StoreProduct*>*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Services.Store.StoreAvailability*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Services.Store.StoreImage*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Services.Store.StorePackageUpdate*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Services.Store.StorePackageUpdateStatus>;

                interface Windows.Foundation.Collections.IIterator<Windows.Services.Store.StoreQueueItem*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Services.Store.StoreSku*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Services.Store.StoreVideo*>;

                interface Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.Services.Store.StoreLicense*>;

                interface Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.Services.Store.StoreProduct*>;

                interface Windows.Foundation.Collections.IMapView<HSTRING, Windows.Services.Store.StoreLicense*>;

                interface Windows.Foundation.Collections.IMapView<HSTRING, Windows.Services.Store.StoreProduct*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Services.Store.StoreAvailability*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Services.Store.StoreImage*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Services.Store.StorePackageUpdate*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Services.Store.StorePackageUpdateStatus>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Services.Store.StoreQueueItem*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Services.Store.StoreSku*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Services.Store.StoreVideo*>;

                interface Windows.Foundation.IAsyncOperationWithProgress<Windows.Services.Store.StorePackageUpdateResult*, Windows.Services.Store.StorePackageUpdateStatus>;

                interface Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.Services.Store.StorePackageUpdate*>*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.Services.Store.StoreQueueItem*>*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Services.Store.StoreAcquireLicenseResult*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Services.Store.StoreAppLicense*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Services.Store.StoreCanAcquireLicenseResult*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Services.Store.StoreConsumableResult*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Services.Store.StoreProductPagedQueryResult*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Services.Store.StoreProductQueryResult*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Services.Store.StoreProductResult*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Services.Store.StorePurchaseResult*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Services.Store.StoreRateAndReviewResult*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Services.Store.StoreSendRequestResult*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Services.Store.StoreUninstallStorePackageResult*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Services.Store.StoreContext*, IInspectable*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Services.Store.StorePackageLicense*, IInspectable*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Services.Store.StoreQueueItem*, IInspectable*>;

                interface Windows.Foundation.TypedEventHandler<Windows.Services.Store.StoreQueueItem*, Windows.Services.Store.StoreQueueItemCompletedEventArgs*>;
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace Services
    {
        namespace Store
        {
            [contractversion(4.0)]
            apicontract StoreContract
            {
            }

            [contract(Windows.Services.Store.StoreContract, 3.0)]
            enum StoreCanLicenseStatus
            {
                NotLicensableToUser                 = 0,
                Licensable                          = 1,
                LicenseActionNotApplicableToProduct = 2,
                NetworkError                        = 3,
                ServerError                         = 4
            };

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            enum StoreConsumableStatus
            {
                Succeeded           = 0,
                InsufficentQuantity = 1,
                NetworkError        = 2,
                ServerError         = 3
            };

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            enum StoreDurationUnit
            {
                Minute = 0,
                Hour   = 1,
                Day    = 2,
                Week   = 3,
                Month  = 4,
                Year   = 5
            };

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            enum StorePackageUpdateState
            {
                Pending              = 0,
                Downloading          = 1,
                Deploying            = 2,
                Completed            = 3,
                Canceled             = 4,
                OtherError           = 5,
                ErrorLowBattery      = 6,
                ErrorWiFiRecommended = 7,
                ErrorWiFiRequired    = 8
            };

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            enum StorePurchaseStatus
            {
                Succeeded        = 0,
                AlreadyPurchased = 1,
                NotPurchased     = 2,
                NetworkError     = 3,
                ServerError      = 4
            };

            [contract(Windows.Services.Store.StoreContract, 3.0)]
            enum StoreQueueItemExtendedState
            {
                ActivePending          = 0,
                ActiveStarting         = 1,
                ActiveAcquiringLicense = 2,
                ActiveDownloading      = 3,
                ActiveRestoringData    = 4,
                ActiveInstalling       = 5,
                Completed              = 6,
                Canceled               = 7,
                Paused                 = 8,
                Error                  = 9,
                PausedPackagesInUse    = 10,
                PausedLowBattery       = 11,
                PausedWiFiRecommended  = 12,
                PausedWiFiRequired     = 13,
                PausedReadyToInstall   = 14
            };

            [contract(Windows.Services.Store.StoreContract, 3.0)]
            enum StoreQueueItemKind
            {
                Install = 0,
                Update  = 1,
                Repair  = 2
            };

            [contract(Windows.Services.Store.StoreContract, 3.0)]
            enum StoreQueueItemState
            {
                Active    = 0,
                Completed = 1,
                Canceled  = 2,
                Error     = 3,
                Paused    = 4
            };

            [contract(Windows.Services.Store.StoreContract, 4.0)]
            enum StoreRateAndReviewStatus
            {
                Succeeded      = 0,
                CanceledByUser = 1,
                NetworkError   = 2,
                Error          = 3
            };

            [contract(Windows.Services.Store.StoreContract, 3.0)]
            enum StoreUninstallStorePackageStatus
            {
                Succeeded              = 0,
                CanceledByUser         = 1,
                NetworkError           = 2,
                UninstallNotApplicable = 3,
                Error                  = 4
            };

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            struct StorePackageUpdateStatus
            {
                HSTRING PackageFamilyName;
                UINT64 PackageDownloadSizeInBytes;
                UINT64 PackageBytesDownloaded;
                DOUBLE PackageDownloadProgress;
                DOUBLE TotalDownloadProgress;
                Windows.Services.Store.StorePackageUpdateState PackageUpdateState;
            };

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [exclusiveto(Windows.Services.Store.StoreAcquireLicenseResult)]
            [uuid(FBD7946D-F040-4CB3-9A39-29BCECDBE22D)]
            interface IStoreAcquireLicenseResult : IInspectable
            {
                [propget] HRESULT StorePackageLicense([out] [retval] Windows.Services.Store.StorePackageLicense** value);
                [propget] HRESULT ExtendedError([out] [retval] HRESULT* value);
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [exclusiveto(Windows.Services.Store.StoreAppLicense)]
            [uuid(F389F9DE-73C0-45CE-9BAB-B2FE3E5EAFD3)]
            interface IStoreAppLicense : IInspectable
            {
                [propget] HRESULT SkuStoreId([out] [retval] HSTRING* value);
                [propget] HRESULT IsActive([out] [retval] boolean* value);
                [propget] HRESULT IsTrial([out] [retval] boolean* value);
                [propget] HRESULT ExpirationDate([out] [retval] Windows.Foundation.DateTime* value);
                [propget] HRESULT ExtendedJsonData([out] [retval] HSTRING* value);
                [propget] HRESULT AddOnLicenses([out] [retval] Windows.Foundation.Collections.IMapView<HSTRING, Windows.Services.Store.StoreLicense*>** value);
                [propget] HRESULT TrialTimeRemaining([out] [retval] Windows.Foundation.TimeSpan* value);
                [propget] HRESULT IsTrialOwnedByThisUser([out] [retval] boolean* value);
                [propget] HRESULT TrialUniqueId([out] [retval] HSTRING* value);
            }

            [contract(Windows.Services.Store.StoreContract, 4.0)]
            [exclusiveto(Windows.Services.Store.StoreAppLicense)]
            [uuid(B4666E91-4443-40B3-993F-28904435BDC6)]
            interface IStoreAppLicense2 : IInspectable
            {
                [propget] HRESULT IsDiscLicense([out] [retval] boolean* value);
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [exclusiveto(Windows.Services.Store.StoreAvailability)]
            [uuid(FA060325-0FFD-4493-AD43-F1F9918F69FA)]
            interface IStoreAvailability : IInspectable
            {
                [propget] HRESULT StoreId([out] [retval] HSTRING* value);
                [propget] HRESULT EndDate([out] [retval] Windows.Foundation.DateTime* value);
                [propget] HRESULT Price([out] [retval] Windows.Services.Store.StorePrice** value);
                [propget] HRESULT ExtendedJsonData([out] [retval] HSTRING* value);
                [overload("RequestPurchaseAsync")] HRESULT RequestPurchaseAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Services.Store.StorePurchaseResult*>** operation);
                [overload("RequestPurchaseAsync")] HRESULT RequestPurchaseWithPurchasePropertiesAsync([in] Windows.Services.Store.StorePurchaseProperties* storePurchaseProperties, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Services.Store.StorePurchaseResult*>** operation);
            }

            [contract(Windows.Services.Store.StoreContract, 3.0)]
            [exclusiveto(Windows.Services.Store.StoreCanAcquireLicenseResult)]
            [uuid(3A693DB3-0088-482F-86D5-BD46522663AD)]
            interface IStoreCanAcquireLicenseResult : IInspectable
            {
                [propget] HRESULT ExtendedError([out] [retval] HRESULT* value);
                [propget] HRESULT LicensableSku([out] [retval] HSTRING* value);
                [propget] HRESULT Status([out] [retval] Windows.Services.Store.StoreCanLicenseStatus* value);
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [exclusiveto(Windows.Services.Store.StoreCollectionData)]
            [uuid(8AA4C3B3-5BB3-441A-2AB4-4DAB73D5CE67)]
            interface IStoreCollectionData : IInspectable
            {
                [propget] HRESULT IsTrial([out] [retval] boolean* value);
                [propget] HRESULT CampaignId([out] [retval] HSTRING* value);
                [propget] HRESULT DeveloperOfferId([out] [retval] HSTRING* value);
                [propget] HRESULT AcquiredDate([out] [retval] Windows.Foundation.DateTime* value);
                [propget] HRESULT StartDate([out] [retval] Windows.Foundation.DateTime* value);
                [propget] HRESULT EndDate([out] [retval] Windows.Foundation.DateTime* value);
                [propget] HRESULT TrialTimeRemaining([out] [retval] Windows.Foundation.TimeSpan* value);
                [propget] HRESULT ExtendedJsonData([out] [retval] HSTRING* value);
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [exclusiveto(Windows.Services.Store.StoreConsumableResult)]
            [uuid(EA5DAB72-6A00-4052-BE5B-BFDAB4433352)]
            interface IStoreConsumableResult : IInspectable
            {
                [propget] HRESULT Status([out] [retval] Windows.Services.Store.StoreConsumableStatus* value);
                [propget] HRESULT TrackingId([out] [retval] GUID* value);
                [propget] HRESULT BalanceRemaining([out] [retval] UINT32* value);
                [propget] HRESULT ExtendedError([out] [retval] HRESULT* value);
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [exclusiveto(Windows.Services.Store.StoreContext)]
            [uuid(AC98B6BE-F4FD-4912-BABD-5035E5E8BCAB)]
            interface IStoreContext : IInspectable
            {
                [propget] HRESULT User([out] [retval] Windows.System.User** value);
                [eventadd] HRESULT OfflineLicensesChanged([in] Windows.Foundation.TypedEventHandler<Windows.Services.Store.StoreContext*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT OfflineLicensesChanged([in] EventRegistrationToken token);
                HRESULT GetCustomerPurchaseIdAsync([in] HSTRING serviceTicket, [in] HSTRING publisherUserId, [out] [retval] Windows.Foundation.IAsyncOperation<HSTRING>** operation);
                HRESULT GetCustomerCollectionsIdAsync([in] HSTRING serviceTicket, [in] HSTRING publisherUserId, [out] [retval] Windows.Foundation.IAsyncOperation<HSTRING>** operation);
                HRESULT GetAppLicenseAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Services.Store.StoreAppLicense*>** operation);
                HRESULT GetStoreProductForCurrentAppAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Services.Store.StoreProductResult*>** operation);
                HRESULT GetStoreProductsAsync([in] Windows.Foundation.Collections.IIterable<HSTRING>* productKinds, [in] Windows.Foundation.Collections.IIterable<HSTRING>* storeIds, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Services.Store.StoreProductQueryResult*>** operation);
                HRESULT GetAssociatedStoreProductsAsync([in] Windows.Foundation.Collections.IIterable<HSTRING>* productKinds, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Services.Store.StoreProductQueryResult*>** operation);
                HRESULT GetAssociatedStoreProductsWithPagingAsync([in] Windows.Foundation.Collections.IIterable<HSTRING>* productKinds, [in] UINT32 maxItemsToRetrievePerPage, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Services.Store.StoreProductPagedQueryResult*>** operation);
                HRESULT GetUserCollectionAsync([in] Windows.Foundation.Collections.IIterable<HSTRING>* productKinds, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Services.Store.StoreProductQueryResult*>** operation);
                HRESULT GetUserCollectionWithPagingAsync([in] Windows.Foundation.Collections.IIterable<HSTRING>* productKinds, [in] UINT32 maxItemsToRetrievePerPage, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Services.Store.StoreProductPagedQueryResult*>** operation);
                HRESULT ReportConsumableFulfillmentAsync([in] HSTRING productStoreId, [in] UINT32 quantity, [in] GUID trackingId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Services.Store.StoreConsumableResult*>** operation);
                HRESULT GetConsumableBalanceRemainingAsync([in] HSTRING productStoreId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Services.Store.StoreConsumableResult*>** operation);
                HRESULT AcquireStoreLicenseForOptionalPackageAsync([in] Windows.ApplicationModel.Package* optionalPackage, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Services.Store.StoreAcquireLicenseResult*>** operation);
                [overload("RequestPurchaseAsync")] HRESULT RequestPurchaseAsync([in] HSTRING storeId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Services.Store.StorePurchaseResult*>** operation);
                [overload("RequestPurchaseAsync")] HRESULT RequestPurchaseWithPurchasePropertiesAsync([in] HSTRING storeId, [in] Windows.Services.Store.StorePurchaseProperties* storePurchaseProperties, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Services.Store.StorePurchaseResult*>** operation);
                HRESULT GetAppAndOptionalStorePackageUpdatesAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.Services.Store.StorePackageUpdate*>*>** operation);
                HRESULT RequestDownloadStorePackageUpdatesAsync([in] Windows.Foundation.Collections.IIterable<Windows.Services.Store.StorePackageUpdate*>* storePackageUpdates, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Services.Store.StorePackageUpdateResult*, Windows.Services.Store.StorePackageUpdateStatus>** operation);
                HRESULT RequestDownloadAndInstallStorePackageUpdatesAsync([in] Windows.Foundation.Collections.IIterable<Windows.Services.Store.StorePackageUpdate*>* storePackageUpdates, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Services.Store.StorePackageUpdateResult*, Windows.Services.Store.StorePackageUpdateStatus>** operation);
                HRESULT RequestDownloadAndInstallStorePackagesAsync([in] Windows.Foundation.Collections.IIterable<HSTRING>* storeIds, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Services.Store.StorePackageUpdateResult*, Windows.Services.Store.StorePackageUpdateStatus>** operation);
            }

            [contract(Windows.Services.Store.StoreContract, 2.0)]
            [exclusiveto(Windows.Services.Store.StoreContext)]
            [uuid(18BC54DA-7BD9-452C-9116-3BBD06FFC63A)]
            interface IStoreContext2 : IInspectable
            {
                HRESULT FindStoreProductForPackageAsync([in] Windows.Foundation.Collections.IIterable<HSTRING>* productKinds, [in] Windows.ApplicationModel.Package* package, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Services.Store.StoreProductResult*>** operation);
            }

            [contract(Windows.Services.Store.StoreContract, 3.0)]
            [exclusiveto(Windows.Services.Store.StoreContext)]
            [uuid(E26226CA-1A01-4730-85A6-ECC896E4AE38)]
            interface IStoreContext3 : IInspectable
            {
                [propget] HRESULT CanSilentlyDownloadStorePackageUpdates([out] [retval] boolean* value);
                HRESULT TrySilentDownloadStorePackageUpdatesAsync([in] Windows.Foundation.Collections.IIterable<Windows.Services.Store.StorePackageUpdate*>* storePackageUpdates, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Services.Store.StorePackageUpdateResult*, Windows.Services.Store.StorePackageUpdateStatus>** operation);
                HRESULT TrySilentDownloadAndInstallStorePackageUpdatesAsync([in] Windows.Foundation.Collections.IIterable<Windows.Services.Store.StorePackageUpdate*>* storePackageUpdates, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Services.Store.StorePackageUpdateResult*, Windows.Services.Store.StorePackageUpdateStatus>** operation);
                HRESULT CanAcquireStoreLicenseForOptionalPackageAsync([in] Windows.ApplicationModel.Package* optionalPackage, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Services.Store.StoreCanAcquireLicenseResult*>** operation);
                HRESULT CanAcquireStoreLicenseAsync([in] HSTRING productStoreId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Services.Store.StoreCanAcquireLicenseResult*>** operation);
                [overload("GetStoreProductsAsync")] HRESULT GetStoreProductsWithOptionsAsync([in] Windows.Foundation.Collections.IIterable<HSTRING>* productKinds, [in] Windows.Foundation.Collections.IIterable<HSTRING>* storeIds, [in] Windows.Services.Store.StoreProductOptions* storeProductOptions, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Services.Store.StoreProductQueryResult*>** operation);
                HRESULT GetAssociatedStoreQueueItemsAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.Services.Store.StoreQueueItem*>*>** operation);
                HRESULT GetStoreQueueItemsAsync([in] Windows.Foundation.Collections.IIterable<HSTRING>* storeIds, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.Services.Store.StoreQueueItem*>*>** operation);
                [overload("RequestDownloadAndInstallStorePackagesAsync")] HRESULT RequestDownloadAndInstallStorePackagesWithInstallOptionsAsync([in] Windows.Foundation.Collections.IIterable<HSTRING>* storeIds, [in] Windows.Services.Store.StorePackageInstallOptions* storePackageInstallOptions, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Services.Store.StorePackageUpdateResult*, Windows.Services.Store.StorePackageUpdateStatus>** operation);
                HRESULT DownloadAndInstallStorePackagesAsync([in] Windows.Foundation.Collections.IIterable<HSTRING>* storeIds, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Services.Store.StorePackageUpdateResult*, Windows.Services.Store.StorePackageUpdateStatus>** operation);
                HRESULT RequestUninstallStorePackageAsync([in] Windows.ApplicationModel.Package* package, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Services.Store.StoreUninstallStorePackageResult*>** operation);
                HRESULT RequestUninstallStorePackageByStoreIdAsync([in] HSTRING storeId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Services.Store.StoreUninstallStorePackageResult*>** operation);
                HRESULT UninstallStorePackageAsync([in] Windows.ApplicationModel.Package* package, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Services.Store.StoreUninstallStorePackageResult*>** operation);
                HRESULT UninstallStorePackageByStoreIdAsync([in] HSTRING storeId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Services.Store.StoreUninstallStorePackageResult*>** operation);
            }

            [contract(Windows.Services.Store.StoreContract, 4.0)]
            [exclusiveto(Windows.Services.Store.StoreContext)]
            [uuid(AF9C6F69-BEA1-4BF4-8E74-AE03E206C6B0)]
            interface IStoreContext4 : IInspectable
            {
                HRESULT RequestRateAndReviewAppAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Services.Store.StoreRateAndReviewResult*>** operation);
                HRESULT SetInstallOrderForAssociatedStoreQueueItemsAsync([in] Windows.Foundation.Collections.IIterable<Windows.Services.Store.StoreQueueItem*>* items, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.Services.Store.StoreQueueItem*>*>** operation);
            }

            [contract(Windows.Services.Store.StoreContract, 4.0)]
            [exclusiveto(Windows.Services.Store.StoreContext)]
            [uuid(6DE6C52B-C43A-5953-B39A-71643C57D96E)]
            interface IStoreContext5 : IInspectable
            {
                HRESULT GetUserPurchaseHistoryAsync([in] Windows.Foundation.Collections.IIterable<HSTRING>* productKinds, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Services.Store.StoreProductQueryResult*>** operation);
                HRESULT GetAssociatedStoreProductsByInAppOfferTokenAsync([in] Windows.Foundation.Collections.IIterable<HSTRING>* inAppOfferTokens, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Services.Store.StoreProductQueryResult*>** operation);
                HRESULT RequestPurchaseByInAppOfferTokenAsync([in] HSTRING inAppOfferToken, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Services.Store.StorePurchaseResult*>** operation);
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [exclusiveto(Windows.Services.Store.StoreContext)]
            [uuid(9C06EE5F-15C0-4E72-9330-D6191CEBD19C)]
            interface IStoreContextStatics : IInspectable
            {
                HRESULT GetDefault([out] [retval] Windows.Services.Store.StoreContext** value);
                HRESULT GetForUser([in] Windows.System.User* user, [out] [retval] Windows.Services.Store.StoreContext** value);
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [exclusiveto(Windows.Services.Store.StoreImage)]
            [uuid(081FD248-ADB4-4B64-A993-784789926ED5)]
            interface IStoreImage : IInspectable
            {
                [propget] HRESULT Uri([out] [retval] Windows.Foundation.Uri** value);
                [propget] HRESULT ImagePurposeTag([out] [retval] HSTRING* value);
                [propget] HRESULT Width([out] [retval] UINT32* value);
                [propget] HRESULT Height([out] [retval] UINT32* value);
                [propget] HRESULT Caption([out] [retval] HSTRING* value);
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [exclusiveto(Windows.Services.Store.StoreLicense)]
            [uuid(26DC9579-4C4F-4F30-BC89-649F60E36055)]
            interface IStoreLicense : IInspectable
            {
                [propget] HRESULT SkuStoreId([out] [retval] HSTRING* value);
                [propget] HRESULT IsActive([out] [retval] boolean* value);
                [propget] HRESULT ExpirationDate([out] [retval] Windows.Foundation.DateTime* value);
                [propget] HRESULT ExtendedJsonData([out] [retval] HSTRING* value);
                [propget] HRESULT InAppOfferToken([out] [retval] HSTRING* value);
            }

            [contract(Windows.Services.Store.StoreContract, 3.0)]
            [exclusiveto(Windows.Services.Store.StorePackageInstallOptions)]
            [uuid(1D3D630C-0CCD-44DD-8C59-80810A729973)]
            interface IStorePackageInstallOptions : IInspectable
            {
                [propget] HRESULT AllowForcedAppRestart([out] [retval] boolean* value);
                [propput] HRESULT AllowForcedAppRestart([in] boolean value);
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [exclusiveto(Windows.Services.Store.StorePackageLicense)]
            [uuid(0C465714-14E1-4973-BD14-F77724271E99)]
            interface IStorePackageLicense : IInspectable
                requires
                    Windows.Foundation.IClosable
            {
                [eventadd] HRESULT LicenseLost([in] Windows.Foundation.TypedEventHandler<Windows.Services.Store.StorePackageLicense*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT LicenseLost([in] EventRegistrationToken token);
                [propget] HRESULT Package([out] [retval] Windows.ApplicationModel.Package** value);
                [propget] HRESULT IsValid([out] [retval] boolean* value);
                HRESULT ReleaseLicense();
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [exclusiveto(Windows.Services.Store.StorePackageUpdate)]
            [uuid(140FA150-3CBF-4A35-B91F-48271C31B072)]
            interface IStorePackageUpdate : IInspectable
            {
                [propget] HRESULT Package([out] [retval] Windows.ApplicationModel.Package** value);
                [propget] HRESULT Mandatory([out] [retval] boolean* value);
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [exclusiveto(Windows.Services.Store.StorePackageUpdateResult)]
            [uuid(E79142ED-61F9-4893-B4FE-CF191603AF7B)]
            interface IStorePackageUpdateResult : IInspectable
            {
                [propget] HRESULT OverallState([out] [retval] Windows.Services.Store.StorePackageUpdateState* value);
                [propget] HRESULT StorePackageUpdateStatuses([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Services.Store.StorePackageUpdateStatus>** value);
            }

            [contract(Windows.Services.Store.StoreContract, 3.0)]
            [exclusiveto(Windows.Services.Store.StorePackageUpdateResult)]
            [uuid(071D012E-BC62-4F2E-87EA-99D801AEAF98)]
            interface IStorePackageUpdateResult2 : IInspectable
            {
                [propget] HRESULT StoreQueueItems([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Services.Store.StoreQueueItem*>** value);
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [exclusiveto(Windows.Services.Store.StorePrice)]
            [uuid(55BA94C4-15F1-407C-8F06-006380F4DF0B)]
            interface IStorePrice : IInspectable
            {
                [propget] HRESULT FormattedBasePrice([out] [retval] HSTRING* value);
                [propget] HRESULT FormattedPrice([out] [retval] HSTRING* value);
                [propget] HRESULT IsOnSale([out] [retval] boolean* value);
                [propget] HRESULT SaleEndDate([out] [retval] Windows.Foundation.DateTime* value);
                [propget] HRESULT CurrencyCode([out] [retval] HSTRING* value);
                [propget] HRESULT FormattedRecurrencePrice([out] [retval] HSTRING* value);
            }

            [contract(Windows.Services.Store.StoreContract, 4.0)]
            [exclusiveto(Windows.Services.Store.StorePrice)]
            [uuid(F711573C-40E6-5641-B063-F1DF42B2B12A)]
            interface IStorePrice2 : IInspectable
            {
                [propget] HRESULT UnformattedBasePrice([out] [retval] HSTRING* value);
                [propget] HRESULT UnformattedPrice([out] [retval] HSTRING* value);
                [propget] HRESULT UnformattedRecurrencePrice([out] [retval] HSTRING* value);
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [exclusiveto(Windows.Services.Store.StoreProduct)]
            [uuid(320E2C52-D760-450A-A42B-67D1E901AC90)]
            interface IStoreProduct : IInspectable
            {
                [propget] HRESULT StoreId([out] [retval] HSTRING* value);
                [propget] HRESULT Language([out] [retval] HSTRING* value);
                [propget] HRESULT Title([out] [retval] HSTRING* value);
                [propget] HRESULT Description([out] [retval] HSTRING* value);
                [propget] HRESULT ProductKind([out] [retval] HSTRING* value);
                [propget] HRESULT HasDigitalDownload([out] [retval] boolean* value);
                [propget] HRESULT Keywords([out] [retval] Windows.Foundation.Collections.IVectorView<HSTRING>** value);
                [propget] HRESULT Images([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Services.Store.StoreImage*>** value);
                [propget] HRESULT Videos([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Services.Store.StoreVideo*>** value);
                [propget] HRESULT Skus([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Services.Store.StoreSku*>** value);
                [propget] HRESULT IsInUserCollection([out] [retval] boolean* value);
                [propget] HRESULT Price([out] [retval] Windows.Services.Store.StorePrice** value);
                [propget] HRESULT ExtendedJsonData([out] [retval] HSTRING* value);
                [propget] HRESULT LinkUri([out] [retval] Windows.Foundation.Uri** value);
                HRESULT GetIsAnySkuInstalledAsync([out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                [overload("RequestPurchaseAsync")] HRESULT RequestPurchaseAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Services.Store.StorePurchaseResult*>** operation);
                [overload("RequestPurchaseAsync")] HRESULT RequestPurchaseWithPurchasePropertiesAsync([in] Windows.Services.Store.StorePurchaseProperties* storePurchaseProperties, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Services.Store.StorePurchaseResult*>** operation);
                [propget] HRESULT InAppOfferToken([out] [retval] HSTRING* value);
            }

            [contract(Windows.Services.Store.StoreContract, 3.0)]
            [exclusiveto(Windows.Services.Store.StoreProductOptions)]
            [uuid(5B34A0F9-A113-4811-8326-16199C927F31)]
            interface IStoreProductOptions : IInspectable
            {
                [propget] HRESULT ActionFilters([out] [retval] Windows.Foundation.Collections.IVector<HSTRING>** value);
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [exclusiveto(Windows.Services.Store.StoreProductPagedQueryResult)]
            [uuid(C92718C5-4DD5-4869-A462-ECC6872E43C5)]
            interface IStoreProductPagedQueryResult : IInspectable
            {
                [propget] HRESULT Products([out] [retval] Windows.Foundation.Collections.IMapView<HSTRING, Windows.Services.Store.StoreProduct*>** value);
                [propget] HRESULT HasMoreResults([out] [retval] boolean* value);
                [propget] HRESULT ExtendedError([out] [retval] HRESULT* value);
                HRESULT GetNextAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Services.Store.StoreProductPagedQueryResult*>** operation);
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [exclusiveto(Windows.Services.Store.StoreProductQueryResult)]
            [uuid(D805E6C5-D456-4FF6-8049-9076D5165F73)]
            interface IStoreProductQueryResult : IInspectable
            {
                [propget] HRESULT Products([out] [retval] Windows.Foundation.Collections.IMapView<HSTRING, Windows.Services.Store.StoreProduct*>** value);
                [propget] HRESULT ExtendedError([out] [retval] HRESULT* value);
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [exclusiveto(Windows.Services.Store.StoreProductResult)]
            [uuid(B7674F73-3C87-4EE1-8201-F428359BD3AF)]
            interface IStoreProductResult : IInspectable
            {
                [propget] HRESULT Product([out] [retval] Windows.Services.Store.StoreProduct** value);
                [propget] HRESULT ExtendedError([out] [retval] HRESULT* value);
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [exclusiveto(Windows.Services.Store.StorePurchaseProperties)]
            [uuid(836278F3-FF87-4364-A5B4-FD2153EBE43B)]
            interface IStorePurchaseProperties : IInspectable
            {
                [propget] HRESULT Name([out] [retval] HSTRING* value);
                [propput] HRESULT Name([in] HSTRING value);
                [propget] HRESULT ExtendedJsonData([out] [retval] HSTRING* value);
                [propput] HRESULT ExtendedJsonData([in] HSTRING value);
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [exclusiveto(Windows.Services.Store.StorePurchaseProperties)]
            [uuid(A768F59E-FEFD-489F-9A17-22A593E68B9D)]
            interface IStorePurchasePropertiesFactory : IInspectable
            {
                HRESULT Create([in] HSTRING name, [out] [retval] Windows.Services.Store.StorePurchaseProperties** storePurchaseProperties);
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [exclusiveto(Windows.Services.Store.StorePurchaseResult)]
            [uuid(ADD28552-F96A-463D-A7BB-C20B4FCA6952)]
            interface IStorePurchaseResult : IInspectable
            {
                [propget] HRESULT Status([out] [retval] Windows.Services.Store.StorePurchaseStatus* value);
                [propget] HRESULT ExtendedError([out] [retval] HRESULT* value);
            }

            [contract(Windows.Services.Store.StoreContract, 3.0)]
            [exclusiveto(Windows.Services.Store.StoreQueueItem)]
            [uuid(56D5C32B-F830-4293-9188-CAD2DCDE7357)]
            interface IStoreQueueItem : IInspectable
            {
                [propget] HRESULT ProductId([out] [retval] HSTRING* value);
                [propget] HRESULT PackageFamilyName([out] [retval] HSTRING* value);
                [propget] HRESULT InstallKind([out] [retval] Windows.Services.Store.StoreQueueItemKind* value);
                HRESULT GetCurrentStatus([out] [retval] Windows.Services.Store.StoreQueueItemStatus** result);
                [eventadd] HRESULT Completed([in] Windows.Foundation.TypedEventHandler<Windows.Services.Store.StoreQueueItem*, Windows.Services.Store.StoreQueueItemCompletedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT Completed([in] EventRegistrationToken token);
                [eventadd] HRESULT StatusChanged([in] Windows.Foundation.TypedEventHandler<Windows.Services.Store.StoreQueueItem*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT StatusChanged([in] EventRegistrationToken token);
            }

            [contract(Windows.Services.Store.StoreContract, 4.0)]
            [exclusiveto(Windows.Services.Store.StoreQueueItem)]
            [uuid(69491CA8-1AD4-447C-AD8C-A95035F64D82)]
            interface IStoreQueueItem2 : IInspectable
            {
                HRESULT CancelInstallAsync([out] [retval] Windows.Foundation.IAsyncAction** action);
                HRESULT PauseInstallAsync([out] [retval] Windows.Foundation.IAsyncAction** action);
                HRESULT ResumeInstallAsync([out] [retval] Windows.Foundation.IAsyncAction** action);
            }

            [contract(Windows.Services.Store.StoreContract, 3.0)]
            [exclusiveto(Windows.Services.Store.StoreQueueItemCompletedEventArgs)]
            [uuid(1247DF6C-B44A-439B-BB07-1D3003D005C2)]
            interface IStoreQueueItemCompletedEventArgs : IInspectable
            {
                [propget] HRESULT Status([out] [retval] Windows.Services.Store.StoreQueueItemStatus** value);
            }

            [contract(Windows.Services.Store.StoreContract, 3.0)]
            [exclusiveto(Windows.Services.Store.StoreQueueItemStatus)]
            [uuid(9BD6796F-9CC3-4EC3-B2EF-7BE433B30174)]
            interface IStoreQueueItemStatus : IInspectable
            {
                [propget] HRESULT PackageInstallState([out] [retval] Windows.Services.Store.StoreQueueItemState* value);
                [propget] HRESULT PackageInstallExtendedState([out] [retval] Windows.Services.Store.StoreQueueItemExtendedState* value);
                [propget] HRESULT UpdateStatus([out] [retval] Windows.Services.Store.StorePackageUpdateStatus* value);
                [propget] HRESULT ExtendedError([out] [retval] HRESULT* value);
            }

            [contract(Windows.Services.Store.StoreContract, 4.0)]
            [exclusiveto(Windows.Services.Store.StoreRateAndReviewResult)]
            [uuid(9D209D56-A6B5-4121-9B61-EE6D0FBDBDBB)]
            interface IStoreRateAndReviewResult : IInspectable
            {
                [propget] HRESULT ExtendedError([out] [retval] HRESULT* value);
                [propget] HRESULT ExtendedJsonData([out] [retval] HSTRING* value);
                [propget] HRESULT WasUpdated([out] [retval] boolean* value);
                [propget] HRESULT Status([out] [retval] Windows.Services.Store.StoreRateAndReviewStatus* value);
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [exclusiveto(Windows.Services.Store.StoreRequestHelper)]
            [uuid(6CE5E5F9-A0C9-4B2C-96A6-A171C630038D)]
            interface IStoreRequestHelperStatics : IInspectable
            {
                HRESULT SendRequestAsync([in] Windows.Services.Store.StoreContext* context, [in] UINT32 requestKind, [in] HSTRING parametersAsJson, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Services.Store.StoreSendRequestResult*>** operation);
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [exclusiveto(Windows.Services.Store.StoreSendRequestResult)]
            [uuid(C73ABE60-8272-4502-8A69-6E75153A4299)]
            interface IStoreSendRequestResult : IInspectable
            {
                [propget] HRESULT Response([out] [retval] HSTRING* value);
                [propget] HRESULT ExtendedError([out] [retval] HRESULT* value);
            }

            [contract(Windows.Services.Store.StoreContract, 2.0)]
            [exclusiveto(Windows.Services.Store.StoreSendRequestResult)]
            [uuid(2901296F-C0B0-49D0-8E8D-AA940AF9C10B)]
            interface IStoreSendRequestResult2 : IInspectable
            {
                [propget] HRESULT HttpStatusCode([out] [retval] Windows.Web.Http.HttpStatusCode* value);
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [exclusiveto(Windows.Services.Store.StoreSku)]
            [uuid(397E6F55-4440-4F03-863C-91F3FEC83D79)]
            interface IStoreSku : IInspectable
            {
                [propget] HRESULT StoreId([out] [retval] HSTRING* value);
                [propget] HRESULT Language([out] [retval] HSTRING* value);
                [propget] HRESULT Title([out] [retval] HSTRING* value);
                [propget] HRESULT Description([out] [retval] HSTRING* value);
                [propget] HRESULT IsTrial([out] [retval] boolean* value);
                [propget] HRESULT CustomDeveloperData([out] [retval] HSTRING* value);
                [propget] HRESULT Images([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Services.Store.StoreImage*>** value);
                [propget] HRESULT Videos([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Services.Store.StoreVideo*>** value);
                [propget] HRESULT Availabilities([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Services.Store.StoreAvailability*>** value);
                [propget] HRESULT Price([out] [retval] Windows.Services.Store.StorePrice** value);
                [propget] HRESULT ExtendedJsonData([out] [retval] HSTRING* value);
                [propget] HRESULT IsInUserCollection([out] [retval] boolean* value);
                [propget] HRESULT BundledSkus([out] [retval] Windows.Foundation.Collections.IVectorView<HSTRING>** value);
                [propget] HRESULT CollectionData([out] [retval] Windows.Services.Store.StoreCollectionData** value);
                HRESULT GetIsInstalledAsync([out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                [overload("RequestPurchaseAsync")] HRESULT RequestPurchaseAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Services.Store.StorePurchaseResult*>** operation);
                [overload("RequestPurchaseAsync")] HRESULT RequestPurchaseWithPurchasePropertiesAsync([in] Windows.Services.Store.StorePurchaseProperties* storePurchaseProperties, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Services.Store.StorePurchaseResult*>** operation);
                [propget] HRESULT IsSubscription([out] [retval] boolean* value);
                [propget] HRESULT SubscriptionInfo([out] [retval] Windows.Services.Store.StoreSubscriptionInfo** value);
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [exclusiveto(Windows.Services.Store.StoreSubscriptionInfo)]
            [uuid(4189776A-0559-43AC-A9C6-3AB0011FB8EB)]
            interface IStoreSubscriptionInfo : IInspectable
            {
                [propget] HRESULT BillingPeriod([out] [retval] UINT32* value);
                [propget] HRESULT BillingPeriodUnit([out] [retval] Windows.Services.Store.StoreDurationUnit* value);
                [propget] HRESULT HasTrialPeriod([out] [retval] boolean* value);
                [propget] HRESULT TrialPeriod([out] [retval] UINT32* value);
                [propget] HRESULT TrialPeriodUnit([out] [retval] Windows.Services.Store.StoreDurationUnit* value);
            }

            [contract(Windows.Services.Store.StoreContract, 3.0)]
            [exclusiveto(Windows.Services.Store.StoreUninstallStorePackageResult)]
            [uuid(9FCA39FD-126F-4CDA-B801-1346B8D0A260)]
            interface IStoreUninstallStorePackageResult : IInspectable
            {
                [propget] HRESULT ExtendedError([out] [retval] HRESULT* value);
                [propget] HRESULT Status([out] [retval] Windows.Services.Store.StoreUninstallStorePackageStatus* value);
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [exclusiveto(Windows.Services.Store.StoreVideo)]
            [uuid(F26CB184-6F5E-4DC2-886C-3C63083C2F94)]
            interface IStoreVideo : IInspectable
            {
                [propget] HRESULT Uri([out] [retval] Windows.Foundation.Uri** value);
                [propget] HRESULT VideoPurposeTag([out] [retval] HSTRING* value);
                [propget] HRESULT Width([out] [retval] UINT32* value);
                [propget] HRESULT Height([out] [retval] UINT32* value);
                [propget] HRESULT Caption([out] [retval] HSTRING* value);
                [propget] HRESULT PreviewImage([out] [retval] Windows.Services.Store.StoreImage** value);
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StoreAcquireLicenseResult
            {
                [default] interface Windows.Services.Store.IStoreAcquireLicenseResult;
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StoreAppLicense
            {
                [default] interface Windows.Services.Store.IStoreAppLicense;
                [contract(Windows.Services.Store.StoreContract, 4.0)] interface Windows.Services.Store.IStoreAppLicense2;
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StoreAvailability
            {
                [default] interface Windows.Services.Store.IStoreAvailability;
            }

            [contract(Windows.Services.Store.StoreContract, 3.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StoreCanAcquireLicenseResult
            {
                [default] interface Windows.Services.Store.IStoreCanAcquireLicenseResult;
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StoreCollectionData
            {
                [default] interface Windows.Services.Store.IStoreCollectionData;
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StoreConsumableResult
            {
                [default] interface Windows.Services.Store.IStoreConsumableResult;
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Services.Store.IStoreContextStatics, Windows.Services.Store.StoreContract, 1.0)]
            [threading(both)]
            runtimeclass StoreContext
            {
                [default] interface Windows.Services.Store.IStoreContext;
                [contract(Windows.Services.Store.StoreContract, 2.0)] interface Windows.Services.Store.IStoreContext2;
                [contract(Windows.Services.Store.StoreContract, 3.0)] interface Windows.Services.Store.IStoreContext3;
                [contract(Windows.Services.Store.StoreContract, 4.0)] interface Windows.Services.Store.IStoreContext4;
                [contract(Windows.Services.Store.StoreContract, 4.0)] interface Windows.Services.Store.IStoreContext5;
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StoreImage
            {
                [default] interface Windows.Services.Store.IStoreImage;
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StoreLicense
            {
                [default] interface Windows.Services.Store.IStoreLicense;
            }

            [activatable(Windows.Services.Store.StoreContract, 3.0)]
            [contract(Windows.Services.Store.StoreContract, 3.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StorePackageInstallOptions
            {
                [default] interface Windows.Services.Store.IStorePackageInstallOptions;
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StorePackageLicense
            {
                [default] interface Windows.Services.Store.IStorePackageLicense;
                interface Windows.Foundation.IClosable;
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StorePackageUpdate
            {
                [default] interface Windows.Services.Store.IStorePackageUpdate;
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StorePackageUpdateResult
            {
                [default] interface Windows.Services.Store.IStorePackageUpdateResult;
                [contract(Windows.Services.Store.StoreContract, 3.0)] interface Windows.Services.Store.IStorePackageUpdateResult2;
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StorePrice
            {
                [default] interface Windows.Services.Store.IStorePrice;
                [contract(Windows.Services.Store.StoreContract, 4.0)] interface Windows.Services.Store.IStorePrice2;
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StoreProduct
            {
                [default] interface Windows.Services.Store.IStoreProduct;
            }

            [activatable(Windows.Services.Store.StoreContract, 3.0)]
            [contract(Windows.Services.Store.StoreContract, 3.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StoreProductOptions
            {
                [default] interface Windows.Services.Store.IStoreProductOptions;
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StoreProductPagedQueryResult
            {
                [default] interface Windows.Services.Store.IStoreProductPagedQueryResult;
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StoreProductQueryResult
            {
                [default] interface Windows.Services.Store.IStoreProductQueryResult;
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StoreProductResult
            {
                [default] interface Windows.Services.Store.IStoreProductResult;
            }

            [activatable(Windows.Services.Store.IStorePurchasePropertiesFactory, Windows.Services.Store.StoreContract, 1.0)]
            [activatable(Windows.Services.Store.StoreContract, 1.0)]
            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StorePurchaseProperties
            {
                [default] interface Windows.Services.Store.IStorePurchaseProperties;
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StorePurchaseResult
            {
                [default] interface Windows.Services.Store.IStorePurchaseResult;
            }

            [contract(Windows.Services.Store.StoreContract, 3.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StoreQueueItem
            {
                [default] interface Windows.Services.Store.IStoreQueueItem;
                [contract(Windows.Services.Store.StoreContract, 4.0)] interface Windows.Services.Store.IStoreQueueItem2;
            }

            [contract(Windows.Services.Store.StoreContract, 3.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StoreQueueItemCompletedEventArgs
            {
                [default] interface Windows.Services.Store.IStoreQueueItemCompletedEventArgs;
            }

            [contract(Windows.Services.Store.StoreContract, 3.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StoreQueueItemStatus
            {
                [default] interface Windows.Services.Store.IStoreQueueItemStatus;
            }

            [contract(Windows.Services.Store.StoreContract, 4.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StoreRateAndReviewResult
            {
                [default] interface Windows.Services.Store.IStoreRateAndReviewResult;
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Services.Store.IStoreRequestHelperStatics, Windows.Services.Store.StoreContract, 1.0)]
            [threading(both)]
            runtimeclass StoreRequestHelper
            {
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StoreSendRequestResult
            {
                [default] interface Windows.Services.Store.IStoreSendRequestResult;
                [contract(Windows.Services.Store.StoreContract, 2.0)] interface Windows.Services.Store.IStoreSendRequestResult2;
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StoreSku
            {
                [default] interface Windows.Services.Store.IStoreSku;
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StoreSubscriptionInfo
            {
                [default] interface Windows.Services.Store.IStoreSubscriptionInfo;
            }

            [contract(Windows.Services.Store.StoreContract, 3.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StoreUninstallStorePackageResult
            {
                [default] interface Windows.Services.Store.IStoreUninstallStorePackageResult;
            }

            [contract(Windows.Services.Store.StoreContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StoreVideo
            {
                [default] interface Windows.Services.Store.IStoreVideo;
            }
        }
    }
}
