当前位置:编程学习 > C#/ASP.NET >>

c#中如何调用WinScard.dll中的SCardGetAttrib函数对智能卡进行复位?

请教关于智能卡调用WinScard.dll进行卡片复位的问题
        /// 卡片复位
        /// <param name="hContext">输入类型;ScardEstablishContext()建立的资源管理器上下文的句柄。</param>
        /// <param name="dwAttrId"></param>
        /// <param name="bytRecvAttr"></param>
        /// <param name="nRecLen"></param>
        /// <returns></returns>
        [DllImport("WinScard.dll")]
        public static extern int SCardGetAttrib(int hContext, uint dwAttrId, ref byte bytRecvAttr, ref int nRecLen);

调用时我用
            bReci = new byte[257];
            RLen = 255;
            int ret = SCardGetAttrib(ContextHandle, 0x00090303, ref bReci[0], ref RLen);
ContextHandle的值是没问题的,连接和发命令都没有问题,
返回的ret值总是6,请问哪位大侠知道参数哪里出问题了告诉我下哦 --------------------编程问答-------------------- int ret = SCardGetAttrib(ContextHandle, 0x00090303, ref bReci[0], ref RLen); 
ContextHandle的值是没问题的,连接和发命令都没有问题, 
你用的第1个参数是上下问句柄  这个参数应该用卡那个句柄CardHandle
但是我又遇到问题了。
返回ret为0 成功 但是rlen为11 atr的长度正确 但是breci里面没的数据回来希望那位大虾指教 --------------------编程问答-------------------- 伙计,谢谢你,不过我想现在我们的问题都应该早就解决了,哈哈
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,