1

WCHAR *ネイティブ Web サービス コンパイラがfor an xsd:stringvs 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++ アプリがサービスとして実行され、頻繁な割り当て/割り当て解除に関するヒープの断片化の問題があるためです。

ありがとう、ラグー

4

0 に答える 0