- PR -

VC++6.0で作成したDLL内でVB.NETのStringBuilderを編集したい

投稿者投稿内容
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2004-05-06 23:01
COM でもないのに、どうしても BSTR を返したいんですか?

BSTR を返す必要がなければ、

--ここから: VC--
void GetStr(LPTSTR szBuffer, int BufferLength)
{
if (BufferLength > 0)
{
_tcsncpy (szBuffer, _T("文字列"), BufferLength);
szBuffer [BufferLength - 1] = _T('\0');
}
}
--ここまで: VC --

--ここから: C# --
[DllImport(適宜)]
static extern void GetStr(StringBuilder sb, int length);

StringBuilder sb = new StringBuilder(256);
GetStr (sb, sb.Capacity);
--ここまで: C# --

とかじゃ駄目すか?


_________________
// 渋木宏明 (Hiroaki SHIBUKI)
// http://hidori.jp/
// Microsoft MVP for Visual C#
//
// @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/

スキルアップ/キャリアアップ(JOB@IT)