함수의 파라메타로 PChar 변수를 사용하여..~~
데이터를 주고 받습니다.
서로 다른 변수로 하나는 입력 데이터 값이구.
다른 하나는 출력 테이터 값입니다.
function SEED_ECB_EncUpdate( AlgInfo : PSEED_ALG_INFO;
PlainTxt : PChar;
PlainTxtLen : DWORD;
CipherTxt : PChar;
var CipherTxtLen : DWORD):DWORD;
begin
.....
Move(PlainTxt,AlgInfo^.Buffer,BlockLen-BufLen);
inc(PlainTxt,BlockLen-BufLen);
dec(PlainTxtLen,BlockLen-BufLen);
Move(AlgInfo^.Buffer,CipherTxt,SEED_BLOCK_LEN);
SEED_Eec(@rKey,CipherTxt);
end;
근데 이놈을 받아서 되돌려 줄려고 하면..
CipherTxt 여기 출력값이 받아 져야 되는데
PlainTxt 로 데이터 변환되서 되돌아 옵니다.
함수 선언시 safecall 해 주면 access violation 발생 안하구요..
같이 써주면. ac 발생은 안하는데 데이터가 PlainTxt 넘어 옵니다.
고수님들 좀 봐주세요..~