マネージ C++ コードを C# に移植しています。関数パラメーターがバイト配列であるコードを変換しようとしていますが、関数本体内では、構造ポインターに型キャストされ、関数全体で使用されます。
安全でない/ポインターを使用せずに、ネイティブデータ型をC#の構造にどのように型キャストしますか?
コード:
public byte[] Mail( byte[] mailbox, byte[] sst )
{
pin_ptr<unsigned char> header = &mailbox[0];
PCMP_MAIL_HEADER pHeader = (PCMP_MAIL_HEADER)mailbox;
int BodySize = (int) pHeader.MailLength;
...
}
PCMP_MAIL_HEADER は、ユーザー定義の構造体です。メールボックスをその構造に型キャストする必要があります。