gpt4 book ai didi

c++ - 由于 WINAPI_PARTITION_DESKTOP block ,无法在 UWP 应用程序中使用 winscard.h

转载 作者:太空狗 更新时间:2023-10-29 20:51:36 26 4
gpt4 key购买 nike

我正在使用 C++ 开发通用 Windows 平台应用程序。我有一个用 C++ 编写的工作 项目,它可以与智能卡通信。对于此通信,它使用 winscard.h 库。

我想在 UWP 应用程序中使用 winscard.h 提供的这个功能,但我无法在 UWP 中编译它。经过一番研究,我发现在这个头文件中有一个条件:

#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)

这就是编译器找不到方法的原因。展望 future ,我想将此 WINAPI_FAMILY_PARTITION 更改为 WINAPI_PARTITION_DESKTOP,但我一无所获。

我在 appxmanifest 文件中将 TargetDeviceFamily 名称设置为 Windows.Desktop,但这没有帮助。

所以,我的问题是:

  1. 是否可以更改 WINAPI_FAMILY_PARTITION?如果不是:
  2. 我可以在 UWP 应用程序中使用 winscard.h 库吗?

最佳答案

WINAPI_PARTITION_DESKTOP 守卫意味着 UWP 应用不支持该 API。解除对编译器的阻塞是微不足道的,但这不是一个好主意。

  • 您可以通过使声明可见来解除对编译器的阻塞,但是这样您就会遇到链接问题。
  • 您可以手动将正确的导入库添加到链接中,但由于安全检查,它可能会在运行时失败。
  • 即使您设法做到了这一点,您的应用程序也不会被允许出现在 Windows 应用商店中。
  • 即使您让它正常运行并且不关心 Windows 应用商店,这也不是受支持的方案,并且随时可能会中断。

执行此操作的正确方法是使用 Windows.Devices.SmartCards 命名空间中的类型。如果该 API 缺少功能,您可以通过 UserVoice 发送反馈或反馈中心。

关于c++ - 由于 WINAPI_PARTITION_DESKTOP block ,无法在 UWP 应用程序中使用 winscard.h,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49279470/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com