我正在开发一个 Windows 8 商店应用程序,该应用程序将 C# 用于 GUI 和 C++(作为同一解决方案中的另一个项目,设置为制作 DLL)进行图像处理,并试图.png
从指定的路径在 C++ 中打开图像来自 C#。当图像位于Apps资产文件夹中时,这工作正常,.\\Assets\\image.png
但当我尝试访问图片库中的图像时,我得到E_ACCESSDENIED
了C++代码。我已经在 c# 项目清单中指定了文档和图片库功能,但 C++ 仍然被拒绝访问。任何人都知道如何授予对某些文件夹的 C++ 代码访问权限?
例如调用 wincodec.h 中定义的函数,如果 'filename' 类似于 "C:\Users\Name\Pictures\image0.png" hr 将得到结果E_ACCESSDENIED
if (SUCCEEDED(hr))
{
hr = pFactory->CreateDecoderFromFilename(
filename,
NULL,
GENERIC_READ,
WICDecodeMetadataCacheOnDemand,
&pDecoder);
}