WCHAR *
ネイティブ Web サービス コンパイラがfor an xsd:string
vs a const wchar_t*
(または略して LPCWSTR)を生成する正当な理由はありますか?
この質問をする理由は、私たちのアプリケーションstd::wstring
が、WCF サービスに渡す必要があるコード内に s が含まれているネイティブの C++ アプリケーションだからです。ネイティブ Web サービス コンパイラによって生成された C 関数を使用するには、次の行で何かを行う必要があります。
MyCppFunc(const std::wstring& inputString ,…)
{
…
HRESULT hr = BasicHttpBinding_BlahService(const_cast<<WCHAR*>WCHAR*>(inputString.c_str()), ….);
}
上から見たように、私はポインターを廃止することを余儀なくされていconst
ます。ここでの私の懸念は、WCHAR*
型を明示的に持つことによって、とにかく webservices.lib 自体によって操作されることが期待されるポインターデータですか?
または、文字列の内容を a にコピーすることもできますがWCHAR*
、c++ アプリがサービスとして実行され、頻繁な割り当て/割り当て解除に関するヒープの断片化の問題があるためです。
ありがとう、ラグー