Windows-10デスクトップ&モバイルプラットフォームを対象としたC#アプリケーションがあります。私のアプリは、C++で書かれたWindowsランタイムコンポーネントをC++/cxバインディングで呼び出す。
私のC++コードは、TlsAlloc、TlsGetValue、のTlsSetValueとTlsFreeのようなローカルストレージのAPIを通し使用しています。 Windows App Certification Kitテスト(WACKテスト)を実行すると、ストアアプリでこれらのAPIが使用できないという不満があります。 UWP Windows-10:Storeアプリケーションでスレッドローカルストレージapiを使用する方法
◦API TlsAlloc in kernel32.dll is not supported for this application type. sample.dll calls this API.
◦API TlsFree in kernel32.dll is not supported for this application type. sample.dll calls this API.
◦API TlsGetValue in kernel32.dll is not supported for this application type. sample.dll calls this API.
◦API TlsSetValue in kernel32.dll is not supported for this application type. sample.dll calls this API.
私は、Windows 10店舗のアプリのためにこれらのAPIのための代替手段を参照してくださいcouldntの。このMSDN page は、のWindows Phone 8にあるこれらのapiの利用状況のみを述べています。私は、任意の提案は非常に
:あなたはTLSを使用して、既存のコードにリンクされている場合
代わりに、次のエミュレーションを(あなたのコード内の任意の場所にそれを置く)を使用することができますSDKのリリース。クリーンなレポートが必要な場合は、UCRTのように[代わりにFlsAllocを使用する](http://stackoverflow.com/a/27979758/17034)を参照してください。 –
こんにちは@HansPassant、応答ありがとう。 FlsAllocを使用することを提案すると、私のコードでは、TlsAllocへのすべての呼び出しをFlsAllocに変更する必要がありますか、またはこのトリックを行うことができるマクロ設定があります。 [MSDNページ](https://msdn.microsoft.com/en-us/library/windows/desktop/ms686801(v = vs.85).aspx)は、「** Windows Phone Storeアプリケーションがこれを呼び出すとFlsAlloc **へのインライン呼び出しで置き換えられます。この置換トリッキーはWindows-10でも起こりますか?またはこれはWinPhone-8にのみ限定されていますか? –
SDK v10では、ULSPアプリケーションでTlsAlloc()を使用できます。あなたが最新のWACKを持っていることを確認する必要があるのはこのためです。 –