_wfopen_s在Windows Phone应用中无法正常工作

阿洛夫琴

我需要使用_wfopen_s函数打开存储在我的应用程序包中的文件,但该文件返回FILE带有NULL对象_ptr事情是这样的:

  var file = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync("test\\test.ext");
  var nativeWorker = new NativeWorker(file.Path);
  <...>
  auto err = _wfopen_s(&this->_myFile, fileName->Data(), L"rb");

err返回的是0,但调试器显示有一个错误在什么地方msvcr110d.dll发生,并且所有字段this->_myFile都为NULL,除了_flag那等于1,_file这等于3。

为了找出文件本身是否有问题,我编写了一个类似于以下内容的代码段:在使用cpp升级WP8上的应用程序时,如何防止丢失保存的数据看起来像这样:

  FILE *tmp;
  auto tmpPath = Windows::Storage::ApplicationData::Current->LocalFolder->Path + "\\tmp.txt";
  auto tmpErr = _wfopen_s(&tmp, tmpPath->Data(), L"w");

结果几乎相同,除了now_flag属性tmp等于2。

我正在创建一个标准的XAML应用程序,而这是在Windows Phone运行时组件内部完成的。但是我很确定不是这种情况,因为我已经创建了3D本机应用程序,并且在那里也发生了同样的情况。它甚至发生在单元测试项目中引用的Windows应用商店运行时组件中。

我不能拒绝使用FILEstruct,因为它是由我使用的第三方DLL请求的。也许我错过了一个权限,或者也许有一种将WinRT转换为的方法IRandomAccessStreamFILE所以我只能使用StorageFile的API?最后一个会让我的生活更加轻松:)

阿洛夫琴

好吧,问题是缺乏经验:)好像我编译的第三方DLL使用的C ++运行时不同于Windows运行时组件,因此问题是FILE *指针不兼容。解决方案是要么不从WinRT组件传递FILE *指针指向该DLL(并使用其他功能),要么尝试使用相同的运行时构建DLL和WinRT组件(尽管我不确定这是可能的,因为似乎Windows运行时组件使用特殊的“应用”运行时)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Windows的Docker无法正常工作

Windows Phone 8.1-转换器无法使用平台目标ARM正常工作

Windows NVM无法正常工作?

Windows Phone 8的密码锁定屏幕下快速应用程序恢复无法正常工作

在Windows上的MobaXterm中,vagrant ssh无法正常工作

Windows中的Visual Studio Code命令无法正常工作

如何修复Windows转义字符在python中无法正常工作?

会话在Windows服务应用程序中无法正常工作?

Windows Phone 8开发:OpenStreamForWriteAsync无法正常工作吗?

HttpClient PCL在Windows Phone上无法正常工作

旧游戏在Windows 8中无法正常工作/ Windows 8中的旧游戏无法正常运行

基于Windows Java的应用程序无法正常工作

jQuery mobile $ .mobile.changePage()Windows Phone 8无法正常工作Cordova / PhoneGap

Windows Store应用中的Mjpg流媒体无法正常工作

Windows Phone模拟器无法正常工作

无法在Windows Phone 8应用中安装Windows Azure SDK

Windows Phone-Visual Studio 13中的Admob无法正常工作

Windows应用商店应用程序嵌入式ScrollViewer无法正常工作

Windows应用程序更改类型后,应用程序无法正常工作

在Windows Phone 8上平移无法正常工作

Windows Phone 8.1 NavigationService.navigate无法正常工作

Windows 10照片应用程序无法正常工作(-2143326208)

以下代码在Windows Phone 8中正常工作,但是当我转换为Windows Phone 8.1时,NavigationContext无法正常工作

无法在Windows Phone通用应用中解析xml

在Windows窗体应用程序中获取当前路径无法正常工作

在Windows Phone 10中安装appx文件后,MetroLog无法正常工作

Echo 在我的 Windows 批处理脚本中无法正常工作

Windows 中的 rabbitmqadmin 在 Windows 中无法正常工作

在 Windows 中,Python 中的“os.chmod”无法正常工作