2 つの質問があります。どちらも C++ の void に関するもので、C# に翻訳しようとしています。
C++ コード
void Func_X_2(LPBYTE stream, DWORD key, BYTE keyByte)
{
stream[0] ^= (stream[0] + LOBYTE(LOWORD(key)) + keyByte);
stream[1] ^= (stream[1] + HIBYTE(LOWORD(key)) + keyByte);
stream[2] ^= (stream[2] + LOBYTE(HIWORD(key)) + keyByte);
stream[3] ^= (stream[3] + HIBYTE(HIWORD(key)) + keyByte);
stream[4] ^= (stream[4] + LOBYTE(LOWORD(key)) + keyByte);
stream[5] ^= (stream[5] + HIBYTE(LOWORD(key)) + keyByte);
stream[6] ^= (stream[6] + LOBYTE(HIWORD(key)) + keyByte);
stream[7] ^= (stream[7] + HIBYTE(HIWORD(key)) + keyByte);
}
最初の質問:
DWORD は UInt32、BYTE はバイトですが、LPBYTE とは何ですか? 配列として使用する方法は?
2 番目の質問:
C#でLOBYTE、HIBYTE、LOWORD、HIWORDを使用するには?
編集
これは、関数が呼び出される方法です: C++ コード
Func_X_2((LPBYTE)keyArray, dwArgs[14], keyByte);
keyArray は DWORD(UInt32)、dwArgs は dword の配列、KeyByte はバイトです。
前もって感謝します。