| Server IP : 209.209.40.120 / Your IP : 216.73.217.112 Web Server : Microsoft-IIS/10.0 System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586 User : NEWWWW$ ( 0) PHP Version : 8.3.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /Program Files (x86)/Windows Kits/10/Include/10.0.19041.0/um/ |
Upload File : |
//---------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// Abstract:
// Interfaces & Objects for manipulating Appx Packages.
//
//----------------------------------------------------------------------------
cpp_quote("#include <winapifamily.h>")
import "oaidl.idl";
import "ocidl.idl";
import "urlmon.idl"; // For IUri
cpp_quote("#if (NTDDI_VERSION >= NTDDI_WIN7)")
#pragma region Application Family
cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
typedef struct APPX_PACKAGE_SETTINGS
{
BOOL forceZip32;
IUri* hashMethod;
} APPX_PACKAGE_SETTINGS;
typedef [v1_enum] enum APPX_COMPRESSION_OPTION
{
APPX_COMPRESSION_OPTION_NONE = 0,
APPX_COMPRESSION_OPTION_NORMAL = 1,
APPX_COMPRESSION_OPTION_MAXIMUM = 2,
APPX_COMPRESSION_OPTION_FAST = 3,
APPX_COMPRESSION_OPTION_SUPERFAST = 4
} APPX_COMPRESSION_OPTION;
typedef struct APPX_PACKAGE_WRITER_PAYLOAD_STREAM
{
// Source of the payload
IStream* inputStream;
// Name and metadata to use when writing the payload into the appx package
LPCWSTR fileName;
LPCWSTR contentType;
APPX_COMPRESSION_OPTION compressionOption;
} APPX_PACKAGE_WRITER_PAYLOAD_STREAM;
// If a new footprint file type is added in either of the two
// enums below, be sure to update the corresponding file name
// in appxpackagingglobals.hpp c_packageFootprintFiles array.
typedef [v1_enum] enum APPX_FOOTPRINT_FILE_TYPE
{
APPX_FOOTPRINT_FILE_TYPE_MANIFEST = 0,
APPX_FOOTPRINT_FILE_TYPE_BLOCKMAP = 1,
APPX_FOOTPRINT_FILE_TYPE_SIGNATURE = 2,
APPX_FOOTPRINT_FILE_TYPE_CODEINTEGRITY = 3,
APPX_FOOTPRINT_FILE_TYPE_CONTENTGROUPMAP = 4
} APPX_FOOTPRINT_FILE_TYPE;
typedef [v1_enum] enum APPX_BUNDLE_FOOTPRINT_FILE_TYPE
{
APPX_BUNDLE_FOOTPRINT_FILE_TYPE_FIRST = 0,
APPX_BUNDLE_FOOTPRINT_FILE_TYPE_MANIFEST = 0,
APPX_BUNDLE_FOOTPRINT_FILE_TYPE_BLOCKMAP = 1,
APPX_BUNDLE_FOOTPRINT_FILE_TYPE_SIGNATURE = 2,
APPX_BUNDLE_FOOTPRINT_FILE_TYPE_LAST = 2
} APPX_BUNDLE_FOOTPRINT_FILE_TYPE;
typedef [v1_enum] enum APPX_CAPABILITIES
{
APPX_CAPABILITY_INTERNET_CLIENT = 0x0000000000000001,
APPX_CAPABILITY_INTERNET_CLIENT_SERVER = 0x0000000000000002,
APPX_CAPABILITY_PRIVATE_NETWORK_CLIENT_SERVER = 0x0000000000000004,
APPX_CAPABILITY_DOCUMENTS_LIBRARY = 0x0000000000000008,
APPX_CAPABILITY_PICTURES_LIBRARY = 0x0000000000000010,
APPX_CAPABILITY_VIDEOS_LIBRARY = 0x0000000000000020,
APPX_CAPABILITY_MUSIC_LIBRARY = 0x0000000000000040,
APPX_CAPABILITY_ENTERPRISE_AUTHENTICATION = 0x0000000000000080,
APPX_CAPABILITY_SHARED_USER_CERTIFICATES = 0x0000000000000100,
APPX_CAPABILITY_REMOVABLE_STORAGE = 0x0000000000000200,
APPX_CAPABILITY_APPOINTMENTS = 0x0000000000000400,
APPX_CAPABILITY_CONTACTS = 0x0000000000000800
} APPX_CAPABILITIES;
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(APPX_CAPABILITIES);")
typedef [v1_enum] enum APPX_PACKAGE_ARCHITECTURE
{
APPX_PACKAGE_ARCHITECTURE_X86 = 0, // PROCESSOR_ARCHITECTURE_INTEL
APPX_PACKAGE_ARCHITECTURE_ARM = 5, // PROCESSOR_ARCHITECTURE_ARM
APPX_PACKAGE_ARCHITECTURE_X64 = 9, // PROCESSOR_ARCHITECTURE_AMD64
APPX_PACKAGE_ARCHITECTURE_NEUTRAL = 11, // PROCESSOR_ARCHITECTURE_NEUTRAL
APPX_PACKAGE_ARCHITECTURE_ARM64 = 12 // PROCESSOR_ARCHITECTURE_ARM64
} APPX_PACKAGE_ARCHITECTURE;
typedef [v1_enum] enum APPX_PACKAGE_ARCHITECTURE2
{
// Must match APPX_PACKAGE_ARCHITECTURE
APPX_PACKAGE_ARCHITECTURE2_X86 = 0, // PROCESSOR_ARCHITECTURE_INTEL
APPX_PACKAGE_ARCHITECTURE2_ARM = 5, // PROCESSOR_ARCHITECTURE_ARM
APPX_PACKAGE_ARCHITECTURE2_X64 = 9, // PROCESSOR_ARCHITECTURE_AMD64
APPX_PACKAGE_ARCHITECTURE2_NEUTRAL = 11, // PROCESSOR_ARCHITECTURE_NEUTRAL
APPX_PACKAGE_ARCHITECTURE2_ARM64 = 12, // PROCESSOR_ARCHITECTURE_ARM64
APPX_PACKAGE_ARCHITECTURE2_X86_ON_ARM64 = 14, // PROCESSOR_ARCHITECTURE_IA32_ON_ARM64
APPX_PACKAGE_ARCHITECTURE2_UNKNOWN = 0xFFFF // PROCESSOR_ARCHITECTURE_UNKNOWN
} APPX_PACKAGE_ARCHITECTURE2;
typedef [v1_enum] enum APPX_BUNDLE_PAYLOAD_PACKAGE_TYPE
{
APPX_BUNDLE_PAYLOAD_PACKAGE_TYPE_APPLICATION = 0,
APPX_BUNDLE_PAYLOAD_PACKAGE_TYPE_RESOURCE = 1
} APPX_BUNDLE_PAYLOAD_PACKAGE_TYPE;
typedef [v1_enum] enum DX_FEATURE_LEVEL
{
DX_FEATURE_LEVEL_UNSPECIFIED = 0,
DX_FEATURE_LEVEL_9 = 1,
DX_FEATURE_LEVEL_10 = 2,
DX_FEATURE_LEVEL_11 = 3,
} DX_FEATURE_LEVEL;
typedef [v1_enum] enum APPX_CAPABILITY_CLASS_TYPE
{
APPX_CAPABILITY_CLASS_DEFAULT = 0x00000000,
APPX_CAPABILITY_CLASS_GENERAL = 0x00000001,
APPX_CAPABILITY_CLASS_RESTRICTED = 0x00000002,
APPX_CAPABILITY_CLASS_WINDOWS = 0x00000004,
APPX_CAPABILITY_CLASS_ALL = 0x00000007,
APPX_CAPABILITY_CLASS_CUSTOM = 0x00000008
} APPX_CAPABILITY_CLASS_TYPE;
typedef [v1_enum] enum APPX_PACKAGING_CONTEXT_CHANGE_TYPE
{
APPX_PACKAGING_CONTEXT_CHANGE_TYPE_START = 0,
APPX_PACKAGING_CONTEXT_CHANGE_TYPE_CHANGE = 1,
APPX_PACKAGING_CONTEXT_CHANGE_TYPE_DETAILS = 2,
APPX_PACKAGING_CONTEXT_CHANGE_TYPE_END = 3
} APPX_PACKAGING_CONTEXT_CHANGE_TYPE;
interface IAppxPackageWriter;
interface IAppxPackageReader;
interface IAppxFile;
interface IAppxFilesEnumerator;
interface IAppxBlockMapReader;
interface IAppxBlockMapFile;
interface IAppxBlockMapFilesEnumerator;
interface IAppxBlockMapBlock;
interface IAppxBlockMapBlocksEnumerator;
interface IAppxManifestApplicationsEnumerator;
interface IAppxManifestApplication;
interface IAppxManifestDeviceCapabilitiesEnumerator;
interface IAppxManifestPackageId;
interface IAppxManifestPackageId2;
interface IAppxManifestPackageDependency;
interface IAppxManifestPackageDependenciesEnumerator;
interface IAppxManifestProperties;
interface IAppxManifestReader;
interface IAppxBundleFactory;
interface IAppxBundleWriter;
interface IAppxBundleWriter2;
interface IAppxBundleWriter3;
interface IAppxBundleWriter4;
interface IAppxBundleReader;
interface IAppxBundleManifestReader;
interface IAppxBundleManifestReader2;
interface IAppxBundleManifestPackageInfoEnumerator;
interface IAppxBundleManifestPackageInfo;
interface IAppxBundleManifestPackageInfo2;
interface IAppxBundleManifestPackageInfo3;
interface IAppxBundleManifestOptionalBundleInfoEnumerator;
interface IAppxBundleManifestOptionalBundleInfo;
interface IAppxManifestQualifiedResourcesEnumerator;
interface IAppxManifestQualifiedResource;
interface IAppxManifestTargetDeviceFamily;
interface IAppxManifestTargetDeviceFamiliesEnumerator;
interface IAppxManifestPackageDependency2;
interface IAppxManifestPackageDependency3;
interface IAppxManifestResourcesEnumerator;
interface IAppxManifestCapabilitiesEnumerator;
interface IAppxManifestOptionalPackageInfo;
interface IAppxContentGroupFilesEnumerator;
interface IAppxContentGroupsEnumerator;
interface IAppxContentGroup;
interface IAppxContentGroupMapReader;
interface IAppxSourceContentGroupMapReader;
interface IAppxContentGroupMapWriter;
interface IAppxManifestMainPackageDependenciesEnumerator;
interface IAppxManifestMainPackageDependency;
interface IAppxPackagingEventSink;
interface IAppxPackagingEventSinkManager;
interface IAppxManifestDriverDependency;
interface IAppxManifestDriverDependenciesEnumerator;
interface IAppxManifestDriverConstraint;
interface IAppxManifestDriverConstraintsEnumerator;
interface IAppxManifestOSPackageDependency;
interface IAppxManifestOSPackageDependenciesEnumerator;
interface IAppxManifestHostRuntimeDependency;
interface IAppxManifestHostRuntimeDependenciesEnumerator;
cpp_quote("#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */")
#pragma endregion
#pragma region Desktop Family
cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
interface IAppxEncryptionFactory;
interface IAppxEncryptedPackageWriter;
interface IAppxEncryptedBundleWriter;
interface IAppxEncryptedBundleWriter2;
interface IAppxEncryptedBundleWriter3;
cpp_quote("#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */")
#pragma endregion
#pragma region Application Family
cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
[
object,
uuid(beb94909-e451-438b-b5a7-d79e767b75d8),
pointer_default(ref)
]
interface IAppxFactory : IUnknown
{
HRESULT
CreatePackageWriter(
[in] IStream * outputStream,
[in] APPX_PACKAGE_SETTINGS * settings,
[out, retval] IAppxPackageWriter ** packageWriter
);
HRESULT
CreatePackageReader(
[in] IStream * inputStream,
[out, retval] IAppxPackageReader ** packageReader
);
HRESULT
CreateManifestReader(
[in] IStream * inputStream,
[out, retval] IAppxManifestReader ** manifestReader
);
HRESULT
CreateBlockMapReader(
[in] IStream * inputStream,
[out, retval] IAppxBlockMapReader ** blockMapReader
);
HRESULT
CreateValidatedBlockMapReader(
[in] IStream * blockMapStream,
[in] LPCWSTR signatureFileName,
[out, retval] IAppxBlockMapReader ** blockMapReader
);
}
[
object,
uuid(f1346df2-c282-4e22-b918-743a929a8d55),
pointer_default(ref)
]
interface IAppxFactory2 : IUnknown
{
HRESULT
CreateContentGroupMapReader(
[in] IStream * inputStream,
[out, retval] IAppxContentGroupMapReader** contentGroupMapReader
);
HRESULT
CreateSourceContentGroupMapReader(
[in] IStream * inputStream,
[out, retval] IAppxSourceContentGroupMapReader** reader
);
HRESULT
CreateContentGroupMapWriter(
[in] IStream * stream,
[out, retval] IAppxContentGroupMapWriter** contentGroupMapWriter
);
}
[
object,
uuid(b5c49650-99bc-481c-9a34-3d53a4106708),
pointer_default(ref)
]
interface IAppxPackageReader : IUnknown
{
HRESULT
GetBlockMap(
[out, retval] IAppxBlockMapReader ** blockMapReader
);
HRESULT
GetFootprintFile(
[in] APPX_FOOTPRINT_FILE_TYPE type,
[out, retval] IAppxFile ** file
);
HRESULT
GetPayloadFile(
[in, string] LPCWSTR fileName,
[out, retval] IAppxFile ** file
);
HRESULT
GetPayloadFiles(
[out, retval] IAppxFilesEnumerator ** filesEnumerator
);
HRESULT
GetManifest(
[out, retval] IAppxManifestReader ** manifestReader
);
}
[
object,
uuid(9099e33b-246f-41e4-881a-008eb613f858),
pointer_default(ref)
]
interface IAppxPackageWriter : IUnknown
{
HRESULT
AddPayloadFile(
[in, string] LPCWSTR fileName,
[in, string] LPCWSTR contentType,
[in] APPX_COMPRESSION_OPTION compressionOption,
[in] IStream * inputStream
);
HRESULT
Close(
[in] IStream * manifest
);
}
[
object,
uuid(2cf5c4fd-e54c-4ea5-ba4e-f8c4b105a8c8),
pointer_default(ref)
]
interface IAppxPackageWriter2 : IUnknown
{
HRESULT
Close(
[in] IStream* manifest,
[in] IStream* contentGroupMap
);
}
[
object,
uuid(a83aacd3-41c0-4501-b8a3-74164f50b2fd),
pointer_default(ref)
]
interface IAppxPackageWriter3 : IUnknown
{
HRESULT
AddPayloadFiles(
[in] UINT32 fileCount,
[in, size_is(fileCount)] APPX_PACKAGE_WRITER_PAYLOAD_STREAM* payloadFiles,
[in] UINT64 memoryLimit
);
}
[
object,
uuid(91df827b-94fd-468f-827b-57f41b2f6f2e),
pointer_default(ref)
]
interface IAppxFile : IUnknown
{
HRESULT
GetCompressionOption(
[out, retval] APPX_COMPRESSION_OPTION * compressionOption
);
HRESULT
GetContentType(
[out, string, retval] LPWSTR * contentType
);
HRESULT
GetName(
[out, string, retval] LPWSTR * fileName
);
HRESULT
GetSize(
[out, retval] UINT64 * size
);
HRESULT
GetStream(
[out, retval] IStream ** stream
);
}
[
object,
uuid(f007eeaf-9831-411c-9847-917cdc62d1fe),
pointer_default(ref)
]
interface IAppxFilesEnumerator : IUnknown
{
HRESULT
GetCurrent(
[out, retval] IAppxFile ** file
);
HRESULT
GetHasCurrent(
[out, retval] BOOL * hasCurrent
);
HRESULT
MoveNext(
[out, retval] BOOL * hasNext
);
}
[
object,
uuid(5efec991-bca3-42d1-9ec2-e92d609ec22a),
pointer_default(ref)
]
interface IAppxBlockMapReader : IUnknown
{
HRESULT
GetFile(
[in, string] LPCWSTR filename,
[out, retval] IAppxBlockMapFile ** file
);
HRESULT
GetFiles(
[out, retval] IAppxBlockMapFilesEnumerator ** enumerator
);
HRESULT
GetHashMethod(
[out, retval] IUri ** hashMethod
);
HRESULT
GetStream(
[out, retval] IStream ** blockMapStream
);
}
[
object,
uuid(277672ac-4f63-42c1-8abc-beae3600eb59),
pointer_default(ref)
]
interface IAppxBlockMapFile : IUnknown
{
HRESULT
GetBlocks(
[out, retval] IAppxBlockMapBlocksEnumerator ** blocks
);
HRESULT
GetLocalFileHeaderSize(
[out, retval] UINT32 * lfhSize
);
HRESULT
GetName(
[out, string, retval] LPWSTR * name
);
HRESULT
GetUncompressedSize(
[out, retval] UINT64 * size
);
HRESULT
ValidateFileHash(
[in] IStream * fileStream,
[out, retval] BOOL * isValid
);
}
[
object,
uuid(02b856a2-4262-4070-bacb-1a8cbbc42305),
pointer_default(ref)
]
interface IAppxBlockMapFilesEnumerator : IUnknown
{
HRESULT
GetCurrent(
[out, retval] IAppxBlockMapFile ** file
);
HRESULT
GetHasCurrent(
[out, retval] BOOL * hasCurrent
);
HRESULT
MoveNext(
[out, retval] BOOL * hasCurrent
);
}
[
object,
uuid(75cf3930-3244-4fe0-a8c8-e0bcb270b889),
pointer_default(unique)
]
interface IAppxBlockMapBlock : IUnknown
{
HRESULT
GetHash(
[out] UINT32 * bufferSize,
[out, size_is(, *bufferSize), retval] BYTE ** buffer
);
HRESULT
GetCompressedSize(
[out, retval] UINT32 * size
);
}
[
object,
uuid(6b429b5b-36ef-479e-b9eb-0c1482b49e16),
pointer_default(ref)
]
interface IAppxBlockMapBlocksEnumerator : IUnknown
{
HRESULT
GetCurrent(
[out, retval] IAppxBlockMapBlock ** block
);
HRESULT
GetHasCurrent(
[out, retval] BOOL * hasCurrent
);
HRESULT
MoveNext(
[out, retval] BOOL * hasNext
);
}
[
object,
uuid(4e1bd148-55a0-4480-a3d1-15544710637c),
pointer_default(ref)
]
interface IAppxManifestReader : IUnknown
{
HRESULT
GetPackageId(
[out, retval] IAppxManifestPackageId ** packageId
);
HRESULT
GetProperties(
[out, retval] IAppxManifestProperties ** packageProperties
);
HRESULT
GetPackageDependencies(
[out, retval] IAppxManifestPackageDependenciesEnumerator ** dependencies
);
HRESULT
GetCapabilities(
[out, retval] APPX_CAPABILITIES * capabilities
);
HRESULT
GetResources(
[out, retval] IAppxManifestResourcesEnumerator ** resources
);
HRESULT
GetDeviceCapabilities(
[out, retval] IAppxManifestDeviceCapabilitiesEnumerator ** deviceCapabilities
);
HRESULT
GetPrerequisite(
[in, string] LPCWSTR name,
[out, retval] UINT64 * value
);
HRESULT
GetApplications(
[out, retval] IAppxManifestApplicationsEnumerator ** applications
);
HRESULT
GetStream(
[out, retval] IStream ** manifestStream
);
}
[
object,
uuid(d06f67bc-b31d-4eba-a8af-638e73e77b4d),
pointer_default(ref)
]
interface IAppxManifestReader2 : IAppxManifestReader
{
HRESULT
GetQualifiedResources(
[out, retval] IAppxManifestQualifiedResourcesEnumerator ** resources
);
}
[
object,
uuid(C43825AB-69B7-400A-9709-CC37F5A72D24),
pointer_default(ref)
]
interface IAppxManifestReader3 : IAppxManifestReader2
{
HRESULT
GetCapabilitiesByCapabilityClass(
[in] APPX_CAPABILITY_CLASS_TYPE capabilityClass,
[out, retval] IAppxManifestCapabilitiesEnumerator ** capabilities
);
HRESULT
GetTargetDeviceFamilies(
[out, retval] IAppxManifestTargetDeviceFamiliesEnumerator** targetDeviceFamilies
);
}
[
object,
uuid(4579BB7C-741D-4161-B5A1-47BD3B78AD9B),
pointer_default(ref)
]
interface IAppxManifestReader4 : IAppxManifestReader3
{
HRESULT
GetOptionalPackageInfo(
[out, retval] IAppxManifestOptionalPackageInfo ** optionalPackageInfo
);
}
[
object,
uuid(8D7AE132-A690-4C00-B75A-6AAE1FEAAC80),
pointer_default(ref)
]
interface IAppxManifestReader5 : IUnknown
{
HRESULT
GetMainPackageDependencies(
[out, retval] IAppxManifestMainPackageDependenciesEnumerator** mainPackageDependencies
);
}
[
object,
uuid(34DEACA4-D3C0-4E3E-B312-E42625E3807E),
pointer_default(ref)
]
interface IAppxManifestReader6 : IUnknown
{
HRESULT
GetIsNonQualifiedResourcePackage(
[out, retval] BOOL* isNonQualifiedResourcePackage
);
}
[
object,
uuid(8EFE6F27-0CE0-4988-B32D-738EB63DB3B7),
pointer_default(ref)
]
interface IAppxManifestReader7 : IUnknown
{
HRESULT
GetDriverDependencies(
[out, retval] IAppxManifestDriverDependenciesEnumerator** driverDependencies
);
HRESULT
GetOSPackageDependencies(
[out, retval] IAppxManifestOSPackageDependenciesEnumerator** osPackageDependencies
);
HRESULT
GetHostRuntimeDependencies(
[out, retval] IAppxManifestHostRuntimeDependenciesEnumerator** hostRuntimeDependencies
);
}
[
object,
uuid(FE039DB2-467f-4755-8404-8F5EB6865B33),
pointer_default(ref)
]
interface IAppxManifestDriverDependenciesEnumerator : IUnknown
{
HRESULT
GetCurrent(
[out, retval] IAppxManifestDriverDependency** driverDependency
);
HRESULT
GetHasCurrent(
[out, retval] BOOL* hasCurrent
);
HRESULT
MoveNext(
[out, retval] BOOL* hasNext
);
}
[
object,
uuid(1210CB94-5A92-4602-BE24-79F318AF4AF9),
pointer_default(ref)
]
interface IAppxManifestDriverDependency : IUnknown
{
HRESULT
GetDriverConstraints(
[out, retval] IAppxManifestDriverConstraintsEnumerator** driverConstraints
);
}
[
object,
uuid(D402B2D1-F600-49E0-95E6-975D8DA13D89),
pointer_default(ref)
]
interface IAppxManifestDriverConstraintsEnumerator : IUnknown
{
HRESULT
GetCurrent(
[out, retval] IAppxManifestDriverConstraint** driverConstraint
);
HRESULT
GetHasCurrent(
[out, retval] BOOL* hasCurrent
);
HRESULT
MoveNext(
[out, retval] BOOL* hasNext
);
}
[
object,
uuid(C031BEE4-BBCC-48EA-A237-C34045C80A07),
pointer_default(ref)
]
interface IAppxManifestDriverConstraint : IUnknown
{
HRESULT
GetName(
[out, string, retval] LPWSTR* name
);
HRESULT
GetMinVersion(
[out, retval] UINT64* minVersion
);
HRESULT
GetMinDate(
[out, string, retval] LPWSTR* minDate
);
}
[
object,
uuid(B84E2FC3-F8EC-4BC1-8AE2-156346F5FFEA),
pointer_default(ref)
]
interface IAppxManifestOSPackageDependenciesEnumerator : IUnknown
{
HRESULT
GetCurrent(
[out, retval] IAppxManifestOSPackageDependency** osPackageDependency
);
HRESULT
GetHasCurrent(
[out, retval] BOOL* hasCurrent
);
HRESULT
MoveNext(
[out, retval] BOOL* hasNext
);
}
[
object,
uuid(154995EE-54A6-4F14-AC97-D8CF0519644B),
pointer_default(ref)
]
interface IAppxManifestOSPackageDependency : IUnknown
{
HRESULT
GetName(
[out, string, retval] LPWSTR* name
);
HRESULT
GetVersion(
[out, retval] UINT64* version
);
}
[
object,
uuid(6427A646-7F49-433E-B1A6-0DA309F6885A),
pointer_default(ref)
]
interface IAppxManifestHostRuntimeDependenciesEnumerator : IUnknown
{
HRESULT
GetCurrent(
[out, retval] IAppxManifestHostRuntimeDependency** hostRuntimeDependency
);
HRESULT
GetHasCurrent(
[out, retval] BOOL* hasCurrent
);
HRESULT
MoveNext(
[out, retval] BOOL* hasNext
);
}
[
object,
uuid(3455D234-8414-410D-95C7-7B35255B8391),
pointer_default(ref)
]
interface IAppxManifestHostRuntimeDependency : IUnknown
{
HRESULT
GetName(
[out, string, retval] LPWSTR* name
);
HRESULT
GetPublisher(
[out, string, retval] LPWSTR* publisher
);
HRESULT
GetMinVersion(
[out, retval] UINT64* minVersion
);
}
[
object,
uuid(2634847D-5B5D-4FE5-A243-002FF95EDC7E),
pointer_default(ref)
]
interface IAppxManifestOptionalPackageInfo : IUnknown
{
HRESULT
GetIsOptionalPackage(
[out, retval] BOOL * isOptionalPackage
);
HRESULT
GetMainPackageName(
[out, string, retval] LPWSTR * mainPackageName
);
}
[
object,
uuid(A99C4F00-51D2-4F0F-BA46-7ED5255EBDFF),
pointer_default(ref)
]
interface IAppxManifestMainPackageDependenciesEnumerator : IUnknown
{
HRESULT
GetCurrent(
[out, retval] IAppxManifestMainPackageDependency** mainPackageDependency
);
HRESULT
GetHasCurrent(
[out, retval] BOOL* hasCurrent
);
HRESULT
MoveNext(
[out, retval] BOOL* hasNext
);
}
[
object,
uuid(05D0611C-BC29-46D5-97E2-84B9C79BD8AE),
pointer_default(ref)
]
interface IAppxManifestMainPackageDependency : IUnknown
{
HRESULT
GetName(
[out, string, retval] LPWSTR* name
);
HRESULT
GetPublisher(
[out, string, retval] LPWSTR* publisher
);
HRESULT
GetPackageFamilyName(
[out, string, retval] LPWSTR* packageFamilyName
);
}
[
object,
uuid(283ce2d7-7153-4a91-9649-7a0f7240945f),
pointer_default(ref)
]
interface IAppxManifestPackageId : IUnknown
{
HRESULT
GetName(
[out, string, retval] LPWSTR * name
);
HRESULT
GetArchitecture(
[out, retval] APPX_PACKAGE_ARCHITECTURE * architecture
);
HRESULT
GetPublisher(
[out, string, retval] LPWSTR * publisher
);
HRESULT
GetVersion(
[out, retval] UINT64 * packageVersion
);
HRESULT
GetResourceId(
[out, string, retval] LPWSTR * resourceId
);
HRESULT
ComparePublisher(
[in, string] LPCWSTR other,
[out, retval] BOOL * isSame
);
HRESULT
GetPackageFullName(
[out, string, retval] LPWSTR * packageFullName
);
HRESULT
GetPackageFamilyName(
[out, string, retval] LPWSTR * packageFamilyName
);
}
[
object,
uuid(2256999d-d617-42f1-880e-0ba4542319d5),
pointer_default(ref)
]
interface IAppxManifestPackageId2 : IAppxManifestPackageId
{
HRESULT
GetArchitecture2(
[out, retval] APPX_PACKAGE_ARCHITECTURE2 * architecture
);
}
[
object,
uuid(03faf64d-f26f-4b2c-aaf7-8fe7789b8bca),
pointer_default(ref)
]
interface IAppxManifestProperties : IUnknown
{
HRESULT
GetBoolValue(
[in, string] LPCWSTR name,
[out, retval] BOOL * value
);
HRESULT
GetStringValue(
[in, string] LPCWSTR name,
[out, string, retval] LPWSTR * value
);
}
[
object,
uuid(36537F36-27A4-4788-88C0-733819575017),
pointer_default(ref)
]
interface IAppxManifestTargetDeviceFamiliesEnumerator : IUnknown
{
HRESULT
GetCurrent(
[out, retval] IAppxManifestTargetDeviceFamily** targetDeviceFamily
);
HRESULT
GetHasCurrent(
[out, retval] BOOL* hasCurrent
);
HRESULT
MoveNext(
[out, retval] BOOL* hasNext
);
}
[
object,
uuid(9091B09B-C8D5-4F31-8687-A338259FAEFB),
pointer_default(ref)
]
interface IAppxManifestTargetDeviceFamily : IUnknown
{
HRESULT
GetName(
[out, string, retval] LPWSTR* name
);
HRESULT
GetMinVersion(
[out, retval] UINT64* minVersion
);
HRESULT
GetMaxVersionTested(
[out, retval] UINT64* maxVersionTested
);
}
[
object,
uuid(b43bbcf9-65a6-42dd-bac0-8c6741e7f5a4),
pointer_default(ref)
]
interface IAppxManifestPackageDependenciesEnumerator : IUnknown
{
HRESULT
GetCurrent(
[out, retval] IAppxManifestPackageDependency ** dependency
);
HRESULT
GetHasCurrent(
[out, retval] BOOL * hasCurrent
);
HRESULT
MoveNext(
[out, retval] BOOL * hasNext
);
}
[
object,
uuid(e4946b59-733e-43f0-a724-3bde4c1285a0),
pointer_default(ref)
]
interface IAppxManifestPackageDependency : IUnknown
{
HRESULT
GetName(
[out, string, retval] LPWSTR * name
);
HRESULT
GetPublisher(
[out, string, retval] LPWSTR * publisher
);
HRESULT
GetMinVersion(
[out, retval] UINT64 * minVersion
);
}
[
object,
uuid(DDA0B713-F3FF-49D3-898A-2786780C5D98),
pointer_default(ref)
]
interface IAppxManifestPackageDependency2 : IAppxManifestPackageDependency
{
HRESULT
GetMaxMajorVersionTested(
[out, retval] UINT16* maxMajorVersionTested
);
}
[
object,
uuid(1AC56374-6198-4D6B-92E4-749D5AB8A895),
pointer_default(ref)
]
interface IAppxManifestPackageDependency3 : IUnknown
{
HRESULT
GetIsOptional(
[out, retval] BOOL * isOptional
);
}
[
object,
uuid(de4dfbbd-881a-48bb-858c-d6f2baeae6ed),
pointer_default(ref)
]
interface IAppxManifestResourcesEnumerator : IUnknown
{
HRESULT
GetCurrent(
[out, string, retval] LPWSTR * resource
);
HRESULT
GetHasCurrent(
[out, retval] BOOL * hasCurrent
);
HRESULT
MoveNext(
[out, retval] BOOL * hasNext
);
}
[
object,
uuid(30204541-427b-4a1c-bacf-655bf463a540),
pointer_default(ref)
]
interface IAppxManifestDeviceCapabilitiesEnumerator : IUnknown
{
HRESULT
GetCurrent(
[out, string, retval] LPWSTR * deviceCapability
);
HRESULT
GetHasCurrent(
[out, retval] BOOL * hasCurrent
);
HRESULT
MoveNext(
[out, retval] BOOL * hasNext
);
}
[
object,
uuid(11D22258-F470-42C1-B291-8361C5437E41),
pointer_default(ref)
]
interface IAppxManifestCapabilitiesEnumerator : IUnknown
{
HRESULT
GetCurrent(
[out, string, retval] LPWSTR * capability
);
HRESULT
GetHasCurrent(
[out, retval] BOOL * hasCurrent
);
HRESULT
MoveNext(
[out, retval] BOOL * hasNext
);
}
[
object,
uuid(9eb8a55a-f04b-4d0d-808d-686185d4847a),
pointer_default(ref)
]
interface IAppxManifestApplicationsEnumerator : IUnknown
{
HRESULT
GetCurrent(
[out, retval] IAppxManifestApplication ** application
);
HRESULT
GetHasCurrent(
[out, retval] BOOL * hasCurrent
);
HRESULT
MoveNext(
[out, retval] BOOL * hasNext
);
}
[
object,
uuid(5da89bf4-3773-46be-b650-7e744863b7e8),
pointer_default(ref)
]
interface IAppxManifestApplication : IUnknown
{
HRESULT
GetStringValue(
[in, string] LPCWSTR name,
[out, string, retval] LPWSTR * value
);
HRESULT
GetAppUserModelId(
[out, string, retval] LPWSTR * appUserModelId
);
}
[
object,
uuid(8ef6adfe-3762-4a8f-9373-2fc5d444c8d2),
pointer_default(ref)
]
interface IAppxManifestQualifiedResourcesEnumerator : IUnknown
{
HRESULT
GetCurrent(
[out, retval] IAppxManifestQualifiedResource ** resource
);
HRESULT
GetHasCurrent(
[out, retval] BOOL * hasCurrent
);
HRESULT
MoveNext(
[out, retval] BOOL * hasNext
);
}
[
object,
uuid(3b53a497-3c5c-48d1-9ea3-bb7eac8cd7d4),
pointer_default(ref)
]
interface IAppxManifestQualifiedResource : IUnknown
{
HRESULT
GetLanguage(
[out, string, retval] LPWSTR * language
);
HRESULT
GetScale(
[out, retval] UINT32 * scale
);
HRESULT
GetDXFeatureLevel(
[out, retval] DX_FEATURE_LEVEL * dxFeatureLevel
);
}
[
object,
uuid(BBA65864-965F-4A5F-855F-F074BDBF3A7B),
pointer_default(ref)
]
interface IAppxBundleFactory : IUnknown
{
HRESULT CreateBundleWriter(
[in] IStream* outputStream,
[in] UINT64 bundleVersion,
[out, retval] IAppxBundleWriter** bundleWriter
);
HRESULT CreateBundleReader(
[in] IStream* inputStream,
[out, retval] IAppxBundleReader** bundleReader
);
HRESULT CreateBundleManifestReader(
[in] IStream* inputStream,
[out, retval] IAppxBundleManifestReader** manifestReader
);
}
[
object,
uuid(EC446FE8-BFEC-4C64-AB4F-49F038F0C6D2),
pointer_default(ref)
]
interface IAppxBundleWriter : IUnknown
{
HRESULT AddPayloadPackage(
[in, string] LPCWSTR fileName,
[in] IStream* packageStream
);
HRESULT Close();
}
[
object,
uuid(6D8FE971-01CC-49A0-B685-233851279962),
pointer_default(ref)
]
interface IAppxBundleWriter2 : IUnknown
{
HRESULT AddExternalPackageReference(
[in, string] LPCWSTR fileName,
[in] IStream* inputStream
);
}
[
object,
uuid(AD711152-F969-4193-82D5-9DDF2786D21A),
pointer_default(ref)
]
interface IAppxBundleWriter3 : IUnknown
{
HRESULT AddPackageReference(
[in, string] LPCWSTR fileName,
[in] IStream* inputStream
);
HRESULT Close(
[in, string] LPCWSTR hashMethodString
);
}
[
object,
uuid(9CD9D523-5009-4C01-9882-DC029FBD47A3),
pointer_default(ref)
]
interface IAppxBundleWriter4 : IUnknown
{
HRESULT AddPayloadPackage(
[in, string] LPCWSTR fileName,
[in] IStream* packageStream,
[in] BOOL isDefaultApplicablePackage
);
HRESULT AddPackageReference(
[in, string] LPCWSTR fileName,
[in] IStream* inputStream,
[in] BOOL isDefaultApplicablePackage
);
HRESULT AddExternalPackageReference(
[in, string] LPCWSTR fileName,
[in] IStream* inputStream,
[in] BOOL isDefaultApplicablePackage
);
}
[
object,
uuid(DD75B8C0-BA76-43B0-AE0F-68656A1DC5C8),
pointer_default(ref)
]
interface IAppxBundleReader : IUnknown
{
HRESULT GetFootprintFile(
[in] APPX_BUNDLE_FOOTPRINT_FILE_TYPE fileType,
[out, retval] IAppxFile** footprintFile
);
HRESULT GetBlockMap(
[out, retval] IAppxBlockMapReader** blockMapReader
);
HRESULT GetManifest(
[out, retval] IAppxBundleManifestReader** manifestReader
);
HRESULT GetPayloadPackages(
[out, retval] IAppxFilesEnumerator** payloadPackages
);
HRESULT GetPayloadPackage(
[in, string] LPCWSTR fileName,
[out, retval] IAppxFile** payloadPackage
);
}
[
object,
uuid(CF0EBBC1-CC99-4106-91EB-E67462E04FB0),
pointer_default(ref)
]
interface IAppxBundleManifestReader : IUnknown
{
HRESULT GetPackageId(
[out, retval] IAppxManifestPackageId** packageId
);
HRESULT GetPackageInfoItems(
[out, retval] IAppxBundleManifestPackageInfoEnumerator** packageInfoItems
);
HRESULT GetStream(
[out, retval] IStream** manifestStream
);
}
[
object,
uuid(5517DF70-033F-4AF2-8213-87D766805C02),
pointer_default(ref)
]
interface IAppxBundleManifestReader2 : IUnknown
{
HRESULT GetOptionalBundles(
[out, retval] IAppxBundleManifestOptionalBundleInfoEnumerator** optionalBundles
);
}
[
object,
uuid(F9B856EE-49A6-4E19-B2B0-6A2406D63A32),
pointer_default(ref)
]
interface IAppxBundleManifestPackageInfoEnumerator : IUnknown
{
HRESULT GetCurrent(
[out, retval] IAppxBundleManifestPackageInfo** packageInfo
);
HRESULT GetHasCurrent(
[out, retval] BOOL* hasCurrent
);
HRESULT MoveNext(
[out, retval] BOOL* hasNext
);
}
[
object,
uuid(54CD06C1-268F-40BB-8ED2-757A9EBAEC8D),
pointer_default(ref)
]
interface IAppxBundleManifestPackageInfo : IUnknown
{
HRESULT GetPackageType(
[out, retval] APPX_BUNDLE_PAYLOAD_PACKAGE_TYPE* packageType
);
HRESULT GetPackageId(
[out, retval] IAppxManifestPackageId** packageId
);
HRESULT GetFileName(
[out, string, retval] LPWSTR* fileName
);
HRESULT GetOffset(
[out, retval] UINT64* offset
);
HRESULT GetSize(
[out, retval] UINT64* size
);
HRESULT GetResources(
[out, retval] IAppxManifestQualifiedResourcesEnumerator** resources
);
}
[
object,
uuid(44C2ACBC-B2CF-4CCB-BBDB-9C6DA8C3BC9E),
pointer_default(ref)
]
interface IAppxBundleManifestPackageInfo2 : IUnknown
{
HRESULT GetIsPackageReference(
[out, retval] BOOL* isPackageReference
);
HRESULT GetIsNonQualifiedResourcePackage(
[out, retval] BOOL* isNonQualifiedResourcePackage
);
HRESULT GetIsDefaultApplicablePackage(
[out, retval] BOOL* isDefaultApplicablePackage
);
}
[
object,
uuid(6BA74B98-BB74-4296-80D0-5F4256A99675),
pointer_default(ref)
]
interface IAppxBundleManifestPackageInfo3 : IUnknown
{
HRESULT GetTargetDeviceFamilies(
[out, retval] IAppxManifestTargetDeviceFamiliesEnumerator** targetDeviceFamilies
);
}
[
object,
uuid(5DA6F13D-A8A7-4532-857C-1393D659371D),
pointer_default(ref)
]
interface IAppxBundleManifestPackageInfo4 : IUnknown
{
HRESULT GetIsStub(
[out, retval] BOOL* isStub
);
}
[
object,
uuid(9A178793-F97E-46AC-AACA-DD5BA4C177C8),
pointer_default(ref)
]
interface IAppxBundleManifestOptionalBundleInfoEnumerator : IUnknown
{
HRESULT GetCurrent(
[out, retval] IAppxBundleManifestOptionalBundleInfo** optionalBundle
);
HRESULT GetHasCurrent(
[out, retval] BOOL* hasCurrent
);
HRESULT MoveNext(
[out, retval] BOOL* hasNext
);
}
[
object,
uuid(515BF2E8-BCB0-4D69-8C48-E383147B6E12),
pointer_default(ref)
]
interface IAppxBundleManifestOptionalBundleInfo : IUnknown
{
HRESULT GetPackageId(
[out, retval] IAppxManifestPackageId** packageId
);
HRESULT GetFileName(
[out, string, retval] LPWSTR* fileName
);
HRESULT GetPackageInfoItems(
[out, retval] IAppxBundleManifestPackageInfoEnumerator** packageInfoItems
);
}
[
object,
uuid(1a09a2fd-7440-44eb-8c84-848205a6a1cc),
pointer_default(ref)
]
interface IAppxContentGroupFilesEnumerator : IUnknown
{
HRESULT
GetCurrent(
[out, retval] LPWSTR* file
);
HRESULT
GetHasCurrent(
[out, retval] BOOL* hasCurrent
);
HRESULT
MoveNext(
[out, retval] BOOL* hasNext
);
}
[
object,
uuid(328f6468-c04f-4e3c-b6fa-6b8d27f3003a),
pointer_default(ref)
]
interface IAppxContentGroup : IUnknown
{
HRESULT
GetName(
[out, string, retval] LPWSTR* groupName
);
HRESULT
GetFiles(
[out, retval] IAppxContentGroupFilesEnumerator** enumerator
);
}
[
object,
uuid(3264e477-16d1-4d63-823e-7d2984696634),
pointer_default(ref)
]
interface IAppxContentGroupsEnumerator : IUnknown
{
HRESULT
GetCurrent(
[out, retval] IAppxContentGroup** stream
);
HRESULT
GetHasCurrent(
[out, retval] BOOL* hasCurrent
);
HRESULT
MoveNext(
[out, retval] BOOL* hasNext
);
}
[
object,
uuid(418726d8-dd99-4f5d-9886-157add20de01),
pointer_default(ref)
]
interface IAppxContentGroupMapReader : IUnknown
{
HRESULT
GetRequiredGroup(
[out, retval] IAppxContentGroup** requiredGroup
);
HRESULT
GetAutomaticGroups(
[out, retval] IAppxContentGroupsEnumerator** automaticGroupsEnumerator
);
}
[
object,
uuid(f329791d-540b-4a9f-bc75-3282b7d73193),
pointer_default(ref)
]
interface IAppxSourceContentGroupMapReader : IUnknown
{
HRESULT
GetRequiredGroup(
[out, retval] IAppxContentGroup** requiredGroup
);
HRESULT
GetAutomaticGroups(
[out, retval] IAppxContentGroupsEnumerator** automaticGroupsEnumerator
);
}
[
object,
uuid(d07ab776-a9de-4798-8c14-3db31e687c78),
pointer_default(ref)
]
interface IAppxContentGroupMapWriter : IUnknown
{
HRESULT
AddAutomaticGroup(
[in, string] LPCWSTR groupName
);
HRESULT
AddAutomaticFile(
[in, string] LPCWSTR fileName
);
HRESULT
Close();
}
[
object,
uuid(17239D47-6ADB-45D2-80F6-F9CBC3BF059D),
pointer_default(ref)
]
interface IAppxPackagingDiagnosticEventSink : IUnknown
{
HRESULT ReportContextChange(
[in] APPX_PACKAGING_CONTEXT_CHANGE_TYPE changeType,
[in] LONG contextId,
[in, string] LPCSTR contextName,
[in, string] LPCWSTR contextMessage,
[in, string] LPCWSTR detailsMessage);
HRESULT ReportError(
[in, string] LPCWSTR errorMessage);
}
[
object,
uuid(369648FA-A7EB-4909-A15D-6954A078F18A),
pointer_default(ref)
]
interface IAppxPackagingDiagnosticEventSinkManager : IUnknown
{
HRESULT SetSinkForProcess(
[in] IAppxPackagingDiagnosticEventSink* sink);
}
cpp_quote("#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */")
#pragma endregion
#pragma region Desktop Family
cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
typedef struct APPX_ENCRYPTED_PACKAGE_SETTINGS
{
UINT32 keyLength;
LPCWSTR encryptionAlgorithm;
BOOL useDiffusion;
IUri* blockMapHashAlgorithm;
} APPX_ENCRYPTED_PACKAGE_SETTINGS;
typedef [v1_enum] enum APPX_ENCRYPTED_PACKAGE_OPTIONS
{
APPX_ENCRYPTED_PACKAGE_OPTION_NONE = 0,
APPX_ENCRYPTED_PACKAGE_OPTION_DIFFUSION = 0x1,
APPX_ENCRYPTED_PACKAGE_OPTION_PAGE_HASHING = 0x2,
} APPX_ENCRYPTED_PACKAGE_OPTIONS;
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(APPX_ENCRYPTED_PACKAGE_OPTIONS);")
typedef struct APPX_ENCRYPTED_PACKAGE_SETTINGS2
{
UINT32 keyLength;
LPCWSTR encryptionAlgorithm;
IUri* blockMapHashAlgorithm;
DWORD options;
} APPX_ENCRYPTED_PACKAGE_SETTINGS2;
typedef struct APPX_KEY_INFO
{
UINT32 keyLength;
UINT32 keyIdLength;
[size_is(keyLength)] BYTE* key;
[size_is(keyIdLength)] BYTE* keyId;
} APPX_KEY_INFO;
typedef struct APPX_ENCRYPTED_EXEMPTIONS
{
UINT32 count;
[size_is(count), unique] LPCWSTR *plainTextFiles;
} APPX_ENCRYPTED_EXEMPTIONS;
[
object,
uuid(80E8E04D-8C88-44AE-A011-7CADF6FB2E72),
pointer_default(ref)
]
interface IAppxEncryptionFactory : IUnknown
{
HRESULT EncryptPackage(
[in] IStream * inputStream,
[in] IStream * outputStream,
[in] const APPX_ENCRYPTED_PACKAGE_SETTINGS * settings,
[in] const APPX_KEY_INFO * keyInfo,
[in] const APPX_ENCRYPTED_EXEMPTIONS * exemptedFiles
);
HRESULT DecryptPackage(
[in] IStream * inputStream,
[in] IStream * outputStream,
[in] const APPX_KEY_INFO * keyInfo
);
HRESULT CreateEncryptedPackageWriter(
[in] IStream * outputStream,
[in] IStream * manifestStream,
[in] const APPX_ENCRYPTED_PACKAGE_SETTINGS * settings,
[in] const APPX_KEY_INFO * keyInfo,
[in] const APPX_ENCRYPTED_EXEMPTIONS * exemptedFiles,
[out, retval] IAppxEncryptedPackageWriter ** packageWriter
);
HRESULT CreateEncryptedPackageReader(
[in] IStream * inputStream,
[in] const APPX_KEY_INFO * keyInfo,
[out, retval] IAppxPackageReader ** packageReader
);
HRESULT EncryptBundle(
[in] IStream * inputStream,
[in] IStream * outputStream,
[in] const APPX_ENCRYPTED_PACKAGE_SETTINGS * settings,
[in] const APPX_KEY_INFO * keyInfo,
[in] const APPX_ENCRYPTED_EXEMPTIONS * exemptedFiles
);
HRESULT DecryptBundle(
[in] IStream * inputStream,
[in] IStream * outputStream,
[in] const APPX_KEY_INFO * keyInfo
);
HRESULT CreateEncryptedBundleWriter(
[in] IStream * outputStream,
[in] UINT64 bundleVersion,
[in] const APPX_ENCRYPTED_PACKAGE_SETTINGS * settings,
[in] const APPX_KEY_INFO * keyInfo,
[in] const APPX_ENCRYPTED_EXEMPTIONS * exemptedFiles,
[out, retval] IAppxEncryptedBundleWriter ** bundleWriter
);
HRESULT CreateEncryptedBundleReader(
[in] IStream * inputStream,
[in] const APPX_KEY_INFO * keyInfo,
[out, retval] IAppxBundleReader** bundleReader
);
}
[
object,
uuid(c1b11eee-c4ba-4ab2-a55d-d015fe8ff64f),
pointer_default(ref)
]
interface IAppxEncryptionFactory2 : IUnknown
{
HRESULT CreateEncryptedPackageWriter(
[in] IStream * outputStream,
[in] IStream * manifestStream,
[in] IStream * contentGroupMapStream,
[in] const APPX_ENCRYPTED_PACKAGE_SETTINGS * settings,
[in] const APPX_KEY_INFO * keyInfo,
[in] const APPX_ENCRYPTED_EXEMPTIONS * exemptedFiles,
[out, retval] IAppxEncryptedPackageWriter ** packageWriter
);
}
[
object,
uuid(09edca37-cd64-47d6-b7e8-1cb11d4f7e05),
pointer_default(ref)
]
interface IAppxEncryptionFactory3 : IUnknown
{
HRESULT EncryptPackage(
[in] IStream * inputStream,
[in] IStream * outputStream,
[in] const APPX_ENCRYPTED_PACKAGE_SETTINGS2 * settings,
[in] const APPX_KEY_INFO * keyInfo,
[in] const APPX_ENCRYPTED_EXEMPTIONS * exemptedFiles
);
HRESULT CreateEncryptedPackageWriter(
[in] IStream * outputStream,
[in] IStream * manifestStream,
[in] IStream * contentGroupMapStream,
[in] const APPX_ENCRYPTED_PACKAGE_SETTINGS2 * settings,
[in] const APPX_KEY_INFO * keyInfo,
[in] const APPX_ENCRYPTED_EXEMPTIONS * exemptedFiles,
[out, retval] IAppxEncryptedPackageWriter ** packageWriter
);
HRESULT EncryptBundle(
[in] IStream * inputStream,
[in] IStream * outputStream,
[in] const APPX_ENCRYPTED_PACKAGE_SETTINGS2 * settings,
[in] const APPX_KEY_INFO * keyInfo,
[in] const APPX_ENCRYPTED_EXEMPTIONS * exemptedFiles
);
HRESULT CreateEncryptedBundleWriter(
[in] IStream * outputStream,
[in] UINT64 bundleVersion,
[in] const APPX_ENCRYPTED_PACKAGE_SETTINGS2 * settings,
[in] const APPX_KEY_INFO * keyInfo,
[in] const APPX_ENCRYPTED_EXEMPTIONS * exemptedFiles,
[out, retval] IAppxEncryptedBundleWriter ** bundleWriter
);
}
[
object,
uuid(A879611F-12FD-41fe-85D5-06AE779BBAF5),
pointer_default(ref)
]
interface IAppxEncryptionFactory4 : IUnknown
{
HRESULT EncryptPackage(
[in] IStream * inputStream,
[in] IStream * outputStream,
[in] const APPX_ENCRYPTED_PACKAGE_SETTINGS2 * settings,
[in] const APPX_KEY_INFO * keyInfo,
[in] const APPX_ENCRYPTED_EXEMPTIONS * exemptedFiles,
[in] UINT64 memoryLimit
);
}
[
object,
uuid(F43D0B0B-1379-40E2-9B29-682EA2BF42AF),
pointer_default(ref)
]
interface IAppxEncryptedPackageWriter : IUnknown
{
HRESULT AddPayloadFileEncrypted(
[in, string] LPCWSTR fileName,
[in] APPX_COMPRESSION_OPTION compressionOption,
[in] IStream * inputStream
);
HRESULT Close();
}
[
object,
uuid(3E475447-3A25-40b5-8AD2-F953AE50C92D),
pointer_default(ref)
]
interface IAppxEncryptedPackageWriter2 : IUnknown
{
HRESULT
AddPayloadFilesEncrypted(
[in] UINT32 fileCount,
[in, size_is(fileCount)] APPX_PACKAGE_WRITER_PAYLOAD_STREAM* payloadFiles,
[in] UINT64 memoryLimit
);
}
[
object,
uuid(80B0902F-7BF0-4117-B8C6-4279EF81EE77),
pointer_default(ref)
]
interface IAppxEncryptedBundleWriter : IUnknown
{
HRESULT AddPayloadPackageEncrypted(
[in, string] LPCWSTR fileName,
[in] IStream* packageStream
);
HRESULT Close();
}
[
object,
uuid(E644BE82-F0FA-42B8-A956-8D1CB48EE379),
pointer_default(ref)
]
interface IAppxEncryptedBundleWriter2 : IUnknown
{
HRESULT AddExternalPackageReference(
[in, string] LPCWSTR fileName,
[in] IStream* inputStream
);
}
typedef [v1_enum] enum APPX_PACKAGE_EDITOR_UPDATE_PACKAGE_OPTION
{
APPX_PACKAGE_EDITOR_UPDATE_PACKAGE_OPTION_APPEND_DELTA = 0x00,
} APPX_PACKAGE_EDITOR_UPDATE_PACKAGE_OPTION;
typedef [v1_enum] enum APPX_PACKAGE_EDITOR_UPDATE_PACKAGE_MANIFEST_OPTIONS
{
APPX_PACKAGE_EDITOR_UPDATE_PACKAGE_MANIFEST_OPTION_NONE = 0x00,
APPX_PACKAGE_EDITOR_UPDATE_PACKAGE_MANIFEST_OPTION_SKIP_VALIDATION = 0x01,
APPX_PACKAGE_EDITOR_UPDATE_PACKAGE_MANIFEST_OPTION_LOCALIZED = 0x02
} APPX_PACKAGE_EDITOR_UPDATE_PACKAGE_MANIFEST_OPTIONS;
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(APPX_PACKAGE_EDITOR_UPDATE_PACKAGE_MANIFEST_OPTIONS);")
[
object,
uuid(0D34DEB3-5CAE-4DD3-977C-504932A51D31),
pointer_default(ref)
]
interface IAppxEncryptedBundleWriter3 : IUnknown
{
HRESULT AddPayloadPackageEncrypted(
[in, string] LPCWSTR fileName,
[in] IStream* packageStream,
[in] BOOL isDefaultApplicablePackage
);
HRESULT AddExternalPackageReference(
[in, string] LPCWSTR fileName,
[in] IStream* inputStream,
[in] BOOL isDefaultApplicablePackage
);
}
[
object,
uuid(E2ADB6DC-5E71-4416-86B6-86E5F5291A6B),
pointer_default(ref)
]
interface IAppxPackageEditor : IUnknown
{
HRESULT SetWorkingDirectory(
[in, string] LPCWSTR workingDirectory
);
HRESULT CreateDeltaPackage(
[in] IStream* updatedPackageStream,
[in] IStream* baselinePackageStream,
[in] IStream* deltaPackageStream
);
HRESULT CreateDeltaPackageUsingBaselineBlockMap(
[in] IStream* updatedPackageStream,
[in] IStream* baselineBlockMapStream,
[in, string] LPCWSTR baselinePackageFullName,
[in] IStream* deltaPackageStream
);
HRESULT UpdatePackage(
[in] IStream* baselinePackageStream,
[in] IStream* deltaPackageStream,
[in] APPX_PACKAGE_EDITOR_UPDATE_PACKAGE_OPTION updateOption
);
HRESULT UpdateEncryptedPackage(
[in] IStream* baselineEncryptedPackageStream,
[in] IStream* deltaPackageStream,
[in] APPX_PACKAGE_EDITOR_UPDATE_PACKAGE_OPTION updateOption,
[in] const APPX_ENCRYPTED_PACKAGE_SETTINGS2 * settings,
[in] const APPX_KEY_INFO* keyInfo
);
HRESULT UpdatePackageManifest(
[in] IStream* packageStream,
[in] IStream* updatedManifestStream,
[in] BOOL isPackageEncrypted,
[in] APPX_PACKAGE_EDITOR_UPDATE_PACKAGE_MANIFEST_OPTIONS options
);
}
cpp_quote("#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */")
#pragma endregion
[
uuid(d7255437-34ff-48d1-b726-601dc4de4cad),
version(1.0),
lcid(0x0000)
]
library APPXPACKAGING {
#pragma region Application Family
cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
[
uuid(5842a140-ff9f-4166-8f5c-62f5b7b0c781)
]
coclass AppxFactory
{
interface IAppxFactory2;
[default] interface IAppxFactory;
};
[
uuid(378E0446-5384-43B7-8877-E7DBDD883446)
]
coclass AppxBundleFactory
{
interface IAppxBundleFactory;
};
[
uuid(50CA0A46-1588-4161-8ED2-EF9E469CED5D)
]
coclass AppxPackagingDiagnosticEventSinkManager
{
[default] interface IAppxPackagingDiagnosticEventSinkManager;
};
cpp_quote("#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */")
#pragma endregion
#pragma region Desktop Family
cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
[
uuid(DC664FDD-D868-46EE-8780-8D196CB739F7)
]
coclass AppxEncryptionFactory
{
interface IAppxEncryptionFactory3;
interface IAppxEncryptionFactory2;
[default] interface IAppxEncryptionFactory;
};
[
uuid(F004F2CA-AEBC-4B0D-BF58-E516D5BCC0AB)
]
coclass AppxPackageEditor
{
[default] interface IAppxPackageEditor;
};
cpp_quote("#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */")
#pragma endregion
}; // library APPXPACKAGING
cpp_quote("#endif // (NTDDI >= NTDDI_WIN7)")