次の構造体を C++ にマーシャリングする必要があります。
typedef struct _MyType {
LPSTR name1;
LPSTR name2;
} MyType;
非常に具体的な方法でマーシャリングする必要があることを除けば、単純に聞こえます。呼び出し元はバイト配列を渡します。文字列を配列の最後に配置し、構造体を最初に配置し、name1 と name2 が配列内の位置を指すようにする必要があります。
たとえば、name1 = "Spaceman" および name2 = "Spiff" の MyType がある場合、配列の最後の 9 バイトは "Spaceman\0" になり、その前に "Spiff\0" が付きます。配列の先頭では、最初のポインターは (配列の末尾のアドレス - 長さ ("Spaceman\0")) を指し、2 番目のポインターは他の文字列を指します。
Marshal.Copy() を使用して配列の最後に文字列を配置できると仮定していますが、最初にポインターを配置するにはどうすればよいですか????
ありがとう、スピフ