Q&A

  • PChar 를 함수의 파라메타로 이용시....
함수의 파라메타로 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 넘어 옵니다.

고수님들 좀 봐주세요..~

0  COMMENTS