File: System\Deployment\Internal\Isolation\IStore.cs
Project: System.Deployment.dll (System.Deployment)
#region Assembly System.Deployment, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Deployment.dll
#endregion
 
using System.Runtime.InteropServices;
using System.Security;
 
namespace System.Deployment.Internal.Isolation
{
    [Guid("a5c62f6d-5e3e-4cd9-b345-6b281d7a1d1e")]
    [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
    internal interface IStore
    {
        [SecurityCritical]
        IntPtr BindDefinitions(uint Flags, IntPtr Count, IDefinitionIdentity[] DefsToBind, uint DeploymentsToIgnore, IDefinitionIdentity[] DefsToIgnore);
        [SecurityCritical]
        object BindReferenceToAssembly(uint Flags, IReferenceIdentity ReferenceIdentity, uint cDeploymentsToIgnore, IDefinitionIdentity[] DefinitionIdentity_DeploymentsToIgnore, ref Guid riid);
        [SecurityCritical]
        void CalculateDelimiterOfDeploymentsBasedOnQuota(uint dwFlags, IntPtr cDeployments, IDefinitionAppId[] rgpIDefinitionAppId_Deployments, ref StoreApplicationReference InstallerReference, ulong ulonglongQuota, ref IntPtr Delimiter, ref ulong SizeSharedWithExternalDeployment, ref ulong SizeConsumedByInputDeploymentArray);
        [SecurityCritical]
        object EnumAssemblies(uint Flags, IReferenceIdentity ReferenceIdentity_ToMatch, ref Guid riid);
        [SecurityCritical]
        object EnumCategories(uint Flags, IReferenceIdentity ReferenceIdentity_ToMatch, ref Guid riid);
        [SecurityCritical]
        object EnumCategoryInstances(uint Flags, IDefinitionIdentity CategoryId, string SubcategoryPath, ref Guid riid);
        [SecurityCritical]
        object EnumFiles(uint Flags, IDefinitionIdentity DefinitionIdentity, ref Guid riid);
        [SecurityCritical]
        object EnumInstallationReferences(uint Flags, IDefinitionIdentity DefinitionIdentity, ref Guid riid);
        [SecurityCritical]
        object EnumInstallerDeploymentMetadata(uint Flags, ref StoreApplicationReference Reference, IReferenceAppId Filter, ref Guid riid);
        [SecurityCritical]
        object EnumInstallerDeploymentMetadataProperties(uint Flags, ref StoreApplicationReference Reference, IDefinitionAppId Filter, ref Guid riid);
        [SecurityCritical]
        object EnumPrivateFiles(uint Flags, IDefinitionAppId Application, IDefinitionIdentity DefinitionIdentity, ref Guid riid);
        [SecurityCritical]
        object EnumSubcategories(uint Flags, IDefinitionIdentity CategoryId, string SubcategoryPathPattern, ref Guid riid);
        [SecurityCritical]
        object GetAssemblyInformation(uint Flags, IDefinitionIdentity DefinitionIdentity, ref Guid riid);
        [SecurityCritical]
        void GetDeploymentProperty(uint Flags, IDefinitionAppId DeploymentInPackage, ref StoreApplicationReference Reference, ref Guid PropertySet, string pcwszPropertyName, out BLOB blob);
        [SecurityCritical]
        string LockApplicationPath(uint Flags, IDefinitionAppId ApId, out IntPtr Cookie);
        [SecurityCritical]
        string LockAssemblyPath(uint Flags, IDefinitionIdentity DefinitionIdentity, out IntPtr Cookie);
        [SecurityCritical]
        ulong QueryChangeID(IDefinitionIdentity DefinitionIdentity);
        [SecurityCritical]
        void ReleaseApplicationPath(IntPtr Cookie);
        [SecurityCritical]
        void ReleaseAssemblyPath(IntPtr Cookie);
        [SecurityCritical]
        void Transact(IntPtr cOperation, StoreTransactionOperation[] rgOperations, uint[] rgDispositions, int[] rgResults);
    }
}