두 가지 질문이 있습니다. 둘 다 C++에서 void를 사용하고 있는데, 이는 C#으로 번역하려고합니다.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,하지만 LPBYTE은 무엇인가? 그것을 배열로 사용하는 방법?
두 번째 질문 :
어떻게 C#으로 LOBYTE, HIBYTE, LOWORD, HIWORD를 사용하는?
EDIT
이 함수가 호출되는 방식이다 C++ 코드
Func_X_2((LPBYTE)keyArray, dwArgs[14], keyByte);
keyArray는 DWORD (UINT32)이다 dwArgs는 dword.KeyByte의 배열 바이트이다.
미리 감사드립니다.
어떻게 기능 Func_X_2를 호출 [2] DWORD의? –