○文字列を受け渡しできるDLL
//testdll.dllとして作成
#include <stdio.h>
#include <windows.h>
extern "C" __declspec(dllexport) void test(char*str){
char buf[1024];
strcpy(buf,str);
sprintf(str,"--%s--",buf);
MessageBox(NULL,str,"",1);//きちんと値が渡っているか確認用
}
■.net Framework (VB)からの読み出し(なぜかByValです)
<System.Runtime.InteropServices.DllImport("testdll")> _
Private Shared Sub test(ByVal buf As System.Text.StringBuilder)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim buf As New System.Text.StringBuilder(1024)
buf.Append("いなば")
test(buf)
MsgBox(buf.ToString())
End Sub
▼処理結果
--いなば--
--いなば--