|
: BYTE msg[10];
:
: msg[0] =0x01
: msg[1] =0x02
: msg[3] =0x03
:
: 이렇게 넘어가면 DLL 에서 처리한 값이
:
: msg[0] =0x06
: msg[1] =0x07
: msg[3] =0x08
:
배열은 포인터로 접근할 수 있습니다.
DLL내의 함수를 아래와 같이 정의하면 가변길이 배열에 대한 데이터를 주고 받을 수 있습니다.
//parameter _msg: 배열 시작 포인터
//parameter _size: 배열 길이
void SetMsg(const BYTE* _msg, const int _size);
//parameter _msg: 데이터를 받아올 배열의 시작 포인터
//return: 받아온 데이터의 길이
const int GetMsg(BYTE* _msg);
//////////////////////////////////////////////////
사용예)
BYTE msg1[10]={0,};
msg1[0]=0x04;
msg1[1]=0x05;
msg1[2]=0x06;
SetMsg(msg1,3);
BYTE msg2[10]={0,};
int size=GetMsg(msg2);
for(int index=0; index<size; ++index)
{
cout << "index[" << index << "]=" << std::hex << msg2[index] << std::endl;
}
|