Q&A

  • Win98에서 카드 리더기사용함수 리턴값을 못받아오는 문제
윈도우 2000 환경에서 리더기를 테스트 하는 부분입니다.
SCardConnectA 펑션을 사용해서 결과값을 받아오는데
win2000에서는 정상값=0 을 리턴을 하는데여
win98일때에는 똑같은 소스인데 리턴값을 못받아 오면서 먹통이 됩니다.


//이부분이 펑션 부분입니다.
function SCardConnectA        
(
    hContext : LongInt;
    szReader : string;
    dwShareMode : LongInt;
    dwPreferredProtocols : LongInt;
    Var phCard : LongInt;
    Var pdwActiveProtocol : LongInt
    ) : LongInt; stdcall; external 'winscard.dll';



//이 부분부터는 소스중에 ScardConnectA 펑션을 사용하는 소스입니다.

lngRet := SCardConnectA(RDHwnd, readername, SCARD_SHARE_SHARED, SCARD_PROTOCOL_Tx, CDHwnd, lngAP);=>요부분에서 win2000에서는 정상값인 0 값이 리턴되고요 98에서는 완전먹통이 되거든여
    if lngRet <> SCARD_S_SUCCESS Then begin
        sTemp := ErrCode_Str(inttohex(lngRet, 2));
        result := stemp;
        result := '1';
        exit;
    end;


위와 같은 문제가 왜 일어나는지 좀 알려주시면 정말 감사하겠습니다.
2  COMMENTS
  • Profile
    규진 2003.04.15 02:12
    2000  환경은 pc/sc 환경이 디폴드로 되어 있구요.

    98 이하는 pc/sc 환경에 관련된 컴포넌트를 설치 해야 합니다.
    Microsoft Smart Card Base Components 라고
    프로그램 추가 삭제에 설치되어 있습니다.

    확인 해보세요.. 스마트 카드 단말기 드라이버를 삭제 하시구
    다시 설치 해 보세요.. 드라이버 설치 되면서. 같이 설치 되거든요.



  • Profile
    장태원 2003.04.14 20:26
    'winscard.dll'에서 사용하는 API 가 win2000용이 아닐지 의심이 가는데요..

    허접의 한마디엿슴다..ㅡㅡ;