Win32 API:IAppxBundleManifestOptionalBundleInfo 接口(Appxpackaging.h)
IAppxBundleManifestOptionalBundleInfo 接口是 Win32 API 中与应用包装 (Appx Packaging) 相关的一部分,用于处理应用包捆绑的清单中关于可选包的信息。可选包通常是一组与主应用程序包关联但可以选择性地安装的组件。以下是 IAppxBundleManifestOptionalBundleInfo 接口的基本信息:MIDL_INTERFACE("0a7e50fb-ee1e-4fa4-aede-9c13d72e2a7a")IAppxBundleManifestOptionalBundleInfo : public IUnknown{public: virtual HRESULT STDMETHODCALLTYPE GetPackageId( /* [retval][out] */ IAppxBundleManifestPackageId **packageId) = 0; virtual HRESULT STDMETHODCALLTYPE GetFileName( /* [r...
Win32 API:IAppxBundleFactory 接口(Appxpackaging.h)
IAppxBundleFactory 接口是 Win32 API 中与应用包装 (Appx Packaging) 相关的一部分,用于创建应用包捆绑 (Appx Bundle) 的工厂接口。应用包捆绑是一种将多个应用包组合到一个包中的机制,通常用于分发和安装一组相关的应用程序。以下是 IAppxBundleFactory 接口的基本信息:MIDL_INTERFACE("beb94909-e451-438b-b5a7-d79e767b75d8")IAppxBundleFactory : public IUnknown{public: virtual HRESULT STDMETHODCALLTYPE CreateBundleWriter( /* [in] */ IStream *outputStream, /* [in] */ UINT64 bundleVersion, /* [retval][out] */ IAppxBundleWriter **bundleWriter) = 0; virtual HRESULT...
Win32 API:IAppxBlockMapReader 接口(Appxpackaging.h)
IAppxBlockMapReader 接口是 Win32 API 中与应用包装 (Appx Packaging) 相关的一部分,用于处理应用包的块映射信息。块映射是应用包装中的一部分,用于描述应用程序包中文件块的分布和布局。以下是 IAppxBlockMapReader 接口的基本信息:MIDL_INTERFACE("5efec991-bca3-42d1-9ec2-e92d609ec22a")IAppxBlockMapReader : public IUnknown{public: virtual HRESULT STDMETHODCALLTYPE GetFile( /* [in] */ LPCWSTR filename, /* [retval][out] */ IAppxBlockMapFile **file) = 0; virtual HRESULT STDMETHODCALLTYPE GetFiles( /* [retval][out] */ IAppxBlockMapFilesEnumerator **...
Win32 API:IAppxBlockMapFilesEnumerator 接口(Appxpackaging.h)
IAppxBlockMapFilesEnumerator 接口是 Win32 API 中与应用包装 (Appx Packaging) 相关的一部分,用于处理应用包的块映射文件。块映射文件是应用包装中的一部分,描述了应用的文件布局。以下是 IAppxBlockMapFilesEnumerator 接口的基本信息:MIDL_INTERFACE("02b856a2-4262-4070-bacb-1a8cbbc42305")IAppxBlockMapFilesEnumerator : public IUnknown{public: virtual HRESULT STDMETHODCALLTYPE GetCurrent( /* [retval][string][out] */ LPWSTR *file) = 0; virtual HRESULT STDMETHODCALLTYPE GetHasCurrent( /* [retval][out] */ BOOL *hasCurrent) = 0; virtual HRESULT S...
Win32 API:IAppxBlockMapFile 接口(Appxpackaging.h)
IAppxBlockMapFile 接口是与 Win32 API 中的应用程序打包 (Appx) 相关的接口之一,它位于 Appxpackaging.h 头文件中。这个接口通常用于处理应用程序包的块映射文件,块映射文件是应用程序包 (.appx) 的一部分,其中包含了应用程序包中文件的布局信息。以下是 IAppxBlockMapFile 接口的一些基本信息:DECLARE_INTERFACE_IID_(IAppxBlockMapFile, IUnknown, "277672ac-4f63-42c1-8abc-beae3600eb59"){ STDMETHOD(GetBlocks)( /* [out] */ UINT32 * blocksCount, /* [size_is][size_is][out] */ IAppxBlockMapBlock **blocks) = 0; STDMETHOD(GetLocalFileHeaderSize)( /* [out] */ UINT32 *lfhSize) = 0; ...
Win32 API:IAppxBlockMapBlocksEnumerator 接口(Appxpackaging.h)
在 Windows API 中,IAppxBlockMapBlocksEnumerator 接口是用于枚举 Appx 包块映射(Block Map)中的块的接口。Appx 包块映射用于描述应用程序包中的文件布局和块的信息。以下是该接口的基本定义:DECLARE_INTERFACE_IID(IAppxBlockMapBlocksEnumerator, 0xc3b2f6b9, 0x1951, 0x44c4, 0xbe, 0x09, 0x31, 0x6e, 0x28, 0x7e, 0x28, 0x06);EXTERN_C const IID IID_IAppxBlockMapBlocksEnumerator;#undef INTERFACE#define INTERFACE IAppxBlockMapBlocksEnumeratorDECLARE_INTERFACE(IAppxBlockMapBlocksEnumerator){ STDMETHOD(GetCurrent) (THIS_ IAppxBlockMapBlock **block) PURE; STDMETHOD(Get...
Win32 API:IAppxBlockMapBlock 接口(Appxpackaging.h)
在 Windows API 中,IAppxBlockMapBlock 接口是用于表示 Appx 包块映射(Block Map)中的一个块(block)的接口。Appx 包块映射用于描述应用程序包中的文件布局和块的信息。以下是该接口的基本定义:DECLARE_INTERFACE_IID(IAppxBlockMapBlock, 0x4e1bd148, 0x55a0, 0x4480, 0xa3, 0xd1, 0x15, 0x8e, 0x7f, 0x60, 0x0b, 0x5e);EXTERN_C const IID IID_IAppxBlockMapBlock;#undef INTERFACE#define INTERFACE IAppxBlockMapBlockDECLARE_INTERFACE(IAppxBlockMapBlock){ STDMETHOD(GetHash) (THIS_ UINT32 *bufferSize, BYTE *buffer) PURE; STDMETHOD(GetCompressedSize)(THIS_ UINT32 *size)...
Win32 API:IAppxAppInstallerReader 接口(Appxpackaging.h)
在 Windows API 中,IAppxAppInstallerReader 接口是用于读取 App Installer 文件的接口。App Installer 文件通常包含有关应用程序的信息,以便在 Windows 上进行应用程序的安装。以下是该接口的基本定义:DECLARE_INTERFACE_IID(IAppxAppInstallerReader,0xda3d2cbb,0x6e1d,0x11d8,0xae,0x5f,0x00,0xc0,0x4f,0xd8,0x32,0x9d);EXTERN_C const IID IID_IAppxAppInstallerReader;#undef INTERFACE#define INTERFACE IAppxAppInstallerReaderDECLARE_INTERFACE(IAppxAppInstallerReader){ STDMETHOD(GetPackageUri) (THIS_ IUri **) const PURE; STDMETHOD(GetManifest) (THIS...
Win32 API:APPX_PACKAGE_ARCHITECTURE 枚举(Appxpackaging.h)
在 Win32 API 中,APPX_PACKAGE_ARCHITECTURE 枚举用于指定应用程序包的体系结构。以下是该枚举的定义:typedef enum APPX_PACKAGE_ARCHITECTURE { APPX_PACKAGE_ARCHITECTURE_X86, APPX_PACKAGE_ARCHITECTURE_ARM, APPX_PACKAGE_ARCHITECTURE_X64, APPX_PACKAGE_ARCHITECTURE_NEUTRAL, APPX_PACKAGE_ARCHITECTURE_ARM64} APPX_PACKAGE_ARCHITECTURE; APPX_PACKAGE_ARCHITECTURE_X86: 32 位 x86 架构。 APPX_PACKAGE_ARCHITECTURE_ARM: ARM 架构。 APPX_PACKAGE_ARCHITECTURE_X64: 64 位 x64 架构。 APPX_PACKAGE_ARCHITECTURE_NEUTRAL: 中性体系结构,不依赖于特定的处理器架构。 APPX_PACKAGE_ARC...
Win32 API:APPX_COMPRESSION_OPTION 枚举(Appxpackaging.h)
在 Win32 API 中,APPX_COMPRESSION_OPTION 枚举是用于指定应用程序包或包的压缩选项的枚举类型。以下是该枚举的定义:typedef enum APPX_COMPRESSION_OPTION { APPX_COMPRESSION_OPTION_NONE, APPX_COMPRESSION_OPTION_NORMAL, APPX_COMPRESSION_OPTION_MAXIMUM, APPX_COMPRESSION_OPTION_FAST, APPX_COMPRESSION_OPTION_SUPERFAST} APPX_COMPRESSION_OPTION; APPX_COMPRESSION_OPTION_NONE: 不使用压缩。 APPX_COMPRESSION_OPTION_NORMAL: 正常压缩。 APPX_COMPRESSION_OPTION_MAXIMUM: 最大程度压缩。 APPX_COMPRESSION_OPTION_FAST: 快速压缩。 APPX_COMPRESSION_OPTION_SUPERFAST: 超快速压缩。这个枚举类...
Win32 API:APPX_PACKAGE_SETTINGS 结构(Appxpackaging.h)
APPX_PACKAGE_SETTINGS 是在 Windows 8 及其后续版本中引入的结构体,用于配置与打包和部署应用程序包相关的设置。以下是该结构体的定义:typedef struct APPX_PACKAGE_SETTINGS { BOOL forceZip32; APPX_PACKAGE_ARCHITECTURE packageArchitectures; BOOL packageId; UINT64 hashMethod;} APPX_PACKAGE_SETTINGS; forceZip32: 一个布尔值,表示是否强制使用 32 位 ZIP 格式进行打包。 packageArchitectures: 一个枚举值,表示应用程序包的体系结构。 packageId: 一个布尔值,表示是否使用 packageId 字段。 hashMethod: 表示用于计算应用程序包哈希的方法。请注意,具体的用法和设置可能取决于你的应用程序的需求和目标平台。你可以在 Microsoft 的官方文档中查找有关此结构体和相关 API 的更多信息,以确保你的代码与最新...
Win32 API:UnregisterAppStateChangeNotification 函数(Appnotify.h)
UnregisterAppStateChangeNotification 函数是用于取消注册应用程序状态更改通知的 Win32 API 函数,声明在 Appnotify.h 头文件中。这个函数用于停止接收应用程序状态更改的通知。以下是 UnregisterAppStateChangeNotification 函数的声明:HRESULT UnregisterAppStateChangeNotification(DWORD dwCookie);参数说明: dwCookie: 由 RegisterAppStateChangeNotification 返回的 Cookie,用于标识要取消注册的通知。返回值: 如果函数调用成功,返回 S_OK。 如果函数调用失败,返回相应的错误代码,可以使用 HRESULT 来检查错误。使用示例:#include <windows.h>#include <appnotify.h>int main() { HANDLE hEvent = CreateEvent(NULL, TRUE, FALSE, NULL); if (hEve...
Win32 API:RegisterAppStateChangeNotification 函数(Appnotify.h)
RegisterAppStateChangeNotification 函数是用于注册应用程序状态更改通知的 Win32 API 函数,声明在 Appnotify.h 头文件中。这个函数使应用程序能够接收关于应用程序状态的通知,例如挂起、继续等。以下是 RegisterAppStateChangeNotification 函数的声明:HRESULT RegisterAppStateChangeNotification( HANDLE hEvent, DWORD *pdwCookie);参数说明: hEvent: 用于接收通知的事件句柄。当应用程序状态发生变化时,系统会向此事件发送通知。 pdwCookie: 输出参数,用于接收注册的通知的 Cookie。这个 Cookie 用于取消注册通知时的标识。返回值: 如果函数调用成功,返回 S_OK。 如果函数调用失败,返回相应的错误代码,可以使用 HRESULT 来检查错误。使用示例:#include <windows.h>#include <appnotify.h>int main() { HANDLE h...
Win32 API:PackagePathType 枚举(Appmodel.h)
以下是 PackagePathType 枚举的定义:typedef enum PACKAGE_PATH_TYPE { PACKAGE_PATH_TYPE_INVALID, PACKAGE_PATH_TYPE_APPX, PACKAGE_PATH_TYPE_BUNDLE, PACKAGE_PATH_TYPE_RESOURCES, PACKAGE_PATH_TYPE_RESOURCES_LOCALIZED, PACKAGE_PATH_TYPE_TEMPORARY, PACKAGE_PATH_TYPE_CUSTOM, PACKAGE_PATH_TYPE_EMBEDDED, PACKAGE_PATH_TYPE_BUNDLE_INTERNET_CACHE, PACKAGE_PATH_TYPE_APPLICATION_STATE} PACKAGE_PATH_TYPE;枚举值说明: PACKAGE_PATH_TYPE_INVALID: 无效的路径类型。 PACKAGE_PATH_TYPE_APPX: 应用程序包的主路径。 PACKAGE_PATH_TYPE_BUNDLE: 捆绑包...
Win32 API:PackageOrigin 枚举(Appmodel.h)
以下是 PackageOrigin 枚举的定义:typedef enum PACKAGE_ORIGIN { PACKAGE_ORIGIN_Unsigned, PACKAGE_ORIGIN_Inbox, PACKAGE_ORIGIN_Store, PACKAGE_ORIGIN_DeveloperUnsigned, PACKAGE_ORIGIN_DeveloperSigned, PACKAGE_ORIGIN_LineOfBusiness} PACKAGE_ORIGIN;枚举值说明: PACKAGE_ORIGIN_Unsigned: 未签名的应用程序包。 PACKAGE_ORIGIN_Inbox: 预装在操作系统中的应用程序包。 PACKAGE_ORIGIN_Store: 从 Microsoft Store 安装的应用程序包。 PACKAGE_ORIGIN_DeveloperUnsigned: 开发人员未签名的应用程序包。 PACKAGE_ORIGIN_DeveloperSigned: 开发人员签名的应用程序包。 PACKAGE_ORIGIN_LineOfBusiness: 针对...
Win32 API:PACKAGE_VERSION 结构(Appmodel.h)
在 Win32 API 的 Appmodel.h 头文件中,PACKAGE_VERSION 结构用于表示应用程序包的版本信息。以下是 PACKAGE_VERSION 结构的定义:typedef struct _PACKAGE_VERSION { USHORT Revision; USHORT Build; USHORT Minor; USHORT Major;} PACKAGE_VERSION;成员说明: Major: 主版本号。 Minor: 次版本号。 Build: 构建号。 Revision: 修订号。使用示例:#include <windows.h>#include <appmodel.h>int main() { PACKAGE_VERSION version = {0}; // 填充 PACKAGE_VERSION 结构的相关字段 version.Major = 1; // 设置主版本号 version.Minor = 0; // 设置次版本号 version.Build = 0; // 设置构建号 ver...
Win32 API:PACKAGE_INFO 结构(Appmodel.h)
在 Win32 API 的 Appmodel.h 头文件中,PACKAGE_INFO 结构用于表示应用程序包的信息。以下是 PACKAGE_INFO 结构的定义:typedef struct _PACKAGE_INFO { UINT32 reserved; UINT32 flags; const WCHAR *path; const WCHAR *familyName; const WCHAR *packageFullName; const WCHAR *packageRelativeId; const WCHAR *packageId; const WCHAR *packageMoniker; const WCHAR *packagePublisherId; const WCHAR *packagePublisherDisplayName; const WCHAR *resources; const WCHAR *cust...
Win32 API:PACKAGE_ID 结构(Appmodel.h)
PACKAGE_ID 结构是 Windows 中的 Win32 API 中定义的一个结构体,位于 Appmodel.h 头文件中。它用于表示一个应用程序包的唯一标识符。以下是 PACKAGE_ID 结构的定义:typedef struct _PACKAGE_ID { UINT32 reserved; UINT32 processorArchitecture; PACKAGE_VERSION version; const WCHAR *name; const WCHAR *publisher; const WCHAR *resourceId; const WCHAR *publisherId;} PACKAGE_ID;成员说明: reserved: 保留字段,必须设置为 0。 processorArchitecture: 处理器架构,表示应用程序包的目标处理器体系结构。可以使用 PROCESSOR_ARCHITECTURE 枚举值之一,如 PROCESSOR_ARCHITECTURE_ARM、...
Win32 API:TryCreatePackageDependency 函数(Appmodel.h)
TryCreatePackageDependency 函数是 Windows 中的 Win32 API 函数,位于 Appmodel.h 头文件中。这个函数用于尝试创建一个与指定包相关的包依赖项。下面是该函数的基本信息:HRESULT TryCreatePackageDependency( const PACKAGE_INFO_REFERENCE packageInfoReference, const PACKAGE_ID *dependencyPackageId, const UINT32 bufferLength, UINT8 *buffer, UINT32 *count);参数说明: packageInfoReference: 包信息的引用,可以通过 OpenPackageInfoByFullName 或者 OpenPackageInfo 函数获得。 dependencyPackageId: 要创建依赖项的包的 ID。 buffe...
Win32 API:RemovePackageDependency 函数(Appmodel.h)
RemovePackageDependency 函数是 Windows API 中的一部分,位于 Appmodel.h 头文件中,用于从指定的包中移除依赖关系。这个函数通常用于管理应用程序包之间的依赖关系。以下是该函数的基本信息:#include <Appmodel.h>HRESULT RemovePackageDependency( PCWSTR packageFullName, PCWSTR dependencyPackageFullName);参数说明: packageFullName: 指定要移除依赖关系的应用程序包的完整名称。 dependencyPackageFullName: 指定要移除的依赖关系的应用程序包的完整名称。函数返回 HRESULT 类型的错误代码,如果操作成功,则返回 S_OK。示例用法:#include <Windows.h>#include <Appmodel.h>int main() { HRESULT result = RemovePackageDependency(L"MainAppP...