我有一个针对Windows-10桌面和移动平台的C#应用。我的应用程序调用具有C ++ / cx绑定的用C ++编写的Windows运行时组件。
我的C ++代码使用线程本地存储api,例如TlsAlloc,TlsGetValue,TlsSetValue和TlsFree。当我运行Windows App认证工具包测试(WACK测试)时,它抱怨商店应用程序中的这些api不可用。
该应用程序类型不支持kernel32.dll中的API TlsAlloc。sample.dll调用此API。
该应用程序类型不支持kernel32.dll中的API TlsFree。sample.dll调用此API。
该应用程序类型不支持kernel32.dll中的API TlsGetValue。sample.dll调用此API。
该应用程序类型不支持kernel32.dll中的API TlsSetValue。sample.dll调用此API。
我找不到Windows-10商店应用程序的这些api的替代方案。这个MSDN页面仅讨论Windows Phone 8上这些api的可用性。我找不到有关这些适用于Windows-10的api的任何特定信息
我正在使用-DWINAPI_FAMILY = WINAPI_FAMILY_APP标志编译本机C ++库
任何建议将不胜感激
@HansPassant的答案有助于弄清楚这一点。
UWP Windows-10商店应用程序支持线程本地存储(TLS)api。
我必须升级到Windows SDK版本10.0.14393.33,
在此之前的任何版本都会在TLS API上出错
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句