C DLL を介して USB 周辺機器と通信する C# アプリケーションがあります。
C DLL は次の関数を実装します。
long WriteText(char* data, long length);
これを C/C++ から呼び出す場合、通常の ASCII テキストだけでなく、「£」(0x9C hex) などの拡張文字も送信できます。
ただし、これをC#クラスにまとめました
[DllImport("c:\\USBPD.DLL", EntryPoint = "WriteText")]
public static extern int WriteText(string data, int length);
ただし、「£」を含む文字列を送信すると、その場所に「u ^」が表示されます。残りの文字列は問題ありません。エンコーディングの種類をいじってみましたが、まだ問題があるようです。
ありがとうございます