MSDN:"此类及其成员不能在Windows运行时中执行的应用程序中使用"

goo*_*ion 1 msdn mfc

我遇到了使用CImage该类的问题,该类是MFC的一部分:

void SaveBmp(HBITMAP handle, CString name)
{
    CImage image;
    image.Attach(handle);
    image.Save(name,ImageFormatBMP);
}
Run Code Online (Sandbox Code Playgroud)

符号ImageFormatBMP是未声明的标识符.

我进入了CIDN类的MSDN部分,并在页面顶部看到了这个奇怪的注释:

This class and its members cannot be used in
applications that execute in the Windows Runtime.
Run Code Online (Sandbox Code Playgroud)

有人可以向我解释这个(荒谬的IMO)注释的含义吗?

除了Windows应用程序之外,还可以在哪里使用此类?

谢谢.

xMR*_*MRi 5

Windows运行时(WinRT)是一个可用于应用程序的特殊运行时.本说明只是告诉您,如果您开发一个在WinRT下运行的应用程序,则此类不可用.

从维基百科引用:

Windows运行时(WinRT)是2012年首次在Windows 8和Windows Server 2012中引入的与平台无关的应用程序体系结构.WinRT支持使用C++/CX(组件扩展,基于C++的语言),JavaScript-TypeScript和托管进行开发代码语言C#和Visual Basic .NET(VB.NET).WinRT应用程序本身支持x86和ARM处理器,并在沙盒环境中运行,以提供更高的安全性和稳定性.WinRT组件在设计时考虑了多种语言和API之间的互操作性,包括本机语言,托管语言和脚本语言.

https://en.wikipedia.org/wiki/Windows_Runtime

此外,ImageFormatBMP是GDIPlus的一部分,但不是CImage类的一部分.因此,使用它需要使用包含GDIplus的gdiplus头和相应的命名空间.