じつはC#のマーシャリングはかなり柔軟なので、LParam型をstringに指定できたりする。
コールバックメソッドのdataもstringとして宣言してやれば文字列のやりとりは解決。