{"id":717,"date":"2011-02-26T22:30:29","date_gmt":"2011-02-26T14:30:29","guid":{"rendered":"http:\/\/kaoru.tech\/archives\/717"},"modified":"2011-03-04T14:40:17","modified_gmt":"2011-03-04T06:40:17","slug":"usb-class-ccid","status":"publish","type":"post","link":"http:\/\/kaoru.tech:7000\/wordpress\/?p=717","title":{"rendered":"USB Class CCID"},"content":{"rendered":"<h2>\u540d\u8bcd\u89e3\u91ca<\/h2>\n<ul>\n<li>CCID: Integrated Circuit(s) Cards Interface Device <\/li>\n<li>ICC: Integrated Circuit(s) Cards <\/li>\n<\/ul>\n<h2>\u6982\u8ff0<\/h2>\n<p>\u5f53\u4e00\u4e2aCCID\u63d2\u5165USB host\u65f6\uff0c\u5b83\u53ef\u4ee5\u6709\u6216\u8005\u6ca1\u6709\u4e00\u4e2a\u63d2\u5165\u7684ICC\u3002<\/p>\n<p>CCID\u6a21\u578b\u5047\u8bbe\u4e00\u4e2aICC\u88ab\u6216\u8005\u53ef\u4ee5\u88ab\u63d2\u5165\u5230\u8bbe\u5907\u3002\u8fd9\u5c31\u662f&quot;slot change&quot;\u4e2d\u65ad\u6d88\u606f\u7684\u76ee\u7684\u3002<\/p>\n<p><a href=\"http:\/\/kaoru.tech\/wp-content\/uploads\/2011\/03\/CCID00.jpg\"><img loading=\"lazy\" decoding=\"async\" title=\"CCID00\" style=\"border-top-width: 0px; display: block; border-left-width: 0px; float: none; border-bottom-width: 0px; margin-left: auto; margin-right: auto; border-right-width: 0px\" height=\"136\" alt=\"CCID00\" src=\"http:\/\/kaoru.tech\/wp-content\/uploads\/2011\/03\/CCID00_thumb.jpg\" width=\"244\" border=\"0\" \/><\/a><\/p>\n<h2>CCID\u529f\u80fd\u7279\u6027<\/h2>\n<h3>\u901a\u4fe1\u7ba1\u9053<\/h3>\n<h4>\u63a7\u5236\u7ba1\u9053<\/h4>\n<p>\u63a7\u5236\u7ba1\u9053\u6d88\u606f\u7528\u6765\u63a7\u5236\u4e00\u4e2aUSB\u8bbe\u5907\u3002\u8fd9\u4e9b\u6d88\u606f\u5305\u62ec\u6807\u51c6\u8bf7\u6c42\uff0c\u4f8b\u5982GET_DESCRIPTOR\u548cSET_CONFIGURATION\u3002\u547d\u4ee4\u7ecf\u7531\u9ed8\u8ba4\u7ba1\u9053\u53d1\u9001\uff0c\u62a5\u544a\u4fe1\u606f\u4e5f\u7ecf\u7531\u9ed8\u8ba4\u7ba1\u9053\u8fd4\u56de\u7ed9\u4e3b\u673a\u3002\u5982\u679c\u4ea7\u751f\u4e86\u4e00\u4e2a\u9519\u8bef\uff0c\u5b83\u4f1a\u4ea7\u751f\u4e00\u4e2a\u6807\u51c6\u7684USB\u9519\u8bef\u72b6\u6001\u3002<\/p>\n<p><a href=\"http:\/\/kaoru.tech\/wp-content\/uploads\/2011\/03\/CCID01.jpg\"><img loading=\"lazy\" decoding=\"async\" title=\"CCID01\" style=\"border-top-width: 0px; display: block; border-left-width: 0px; float: none; border-bottom-width: 0px; margin-left: auto; margin-right: auto; border-right-width: 0px\" height=\"75\" alt=\"CCID01\" src=\"http:\/\/kaoru.tech\/wp-content\/uploads\/2011\/03\/CCID01_thumb.jpg\" width=\"244\" border=\"0\" \/><\/a> <\/p>\n<h4>\u4e2d\u65ad\u7ba1\u9053<\/h4>\n<p>CCID\u6a21\u578b\u5728\u4e2d\u65ad\u7ba1\u9053\u5904\u7406\u5f02\u6b65\u4e8b\u4ef6\u3002ICC\u5728\u7ebf\uff0cICC\u79fb\u9664\u6216\u8005\u786c\u4ef6\u9519\u8bef\u6bd4\u5982\u7535\u6d41\u592a\u5927\uff0c\u8fd9\u4e9b\u7ecf\u7531\u8fd9\u4e2a\u7ba1\u9053\u9001\u51fa\u3002<\/p>\n<p><a href=\"http:\/\/kaoru.tech\/wp-content\/uploads\/2011\/03\/CCID02.jpg\"><img loading=\"lazy\" decoding=\"async\" title=\"CCID02\" style=\"border-top-width: 0px; display: block; border-left-width: 0px; float: none; border-bottom-width: 0px; margin-left: auto; margin-right: auto; border-right-width: 0px\" height=\"74\" alt=\"CCID02\" src=\"http:\/\/kaoru.tech\/wp-content\/uploads\/2011\/03\/CCID02_thumb.jpg\" width=\"244\" border=\"0\" \/><\/a> <\/p>\n<p>\u4e2d\u65ad\u7ba1\u9053\u5bf9\u4e8e\u4e00\u4e2a\u652f\u6301ICC\u63d2\u5165\/\u79fb\u9664\u7684CCID\u662f\u5f3a\u5236\u7684\u3002\u5bf9\u4e8e\u4e00\u4e2a\u53ea\u63d2\u5165\u6ca1\u6709\u79fb\u9664\u7684ICC\u662f\u53ef\u9009\u7684\u3002<\/p>\n<h4>\u5757\u8fdb\uff0c\u5757\u51fa\u7ba1\u9053<\/h4>\n<p>CCID\u547d\u4ee4\u7ecf\u7531BULK-OUT\u7aef\u70b9\u53d1\u51fa\u3002\u6bcf\u4e2a\u53d1\u9001\u7ed9CCID\u7684\u547d\u4ee4\u90fd\u6709\u4e00\u4e2a\u76f8\u5e94\u7684\u54cd\u5e94\u3002\u4e00\u4e9b\u547d\u4ee4\u4e5f\u6709\u8fc7\u7a0b\u54cd\u5e94\u3002\u8fd9\u4e9b\u54cd\u5e94\u4eceBULK-IN\u7aef\u70b9\u53d1\u9001\u3002<\/p>\n<p><a href=\"http:\/\/kaoru.tech\/wp-content\/uploads\/2011\/03\/CCID03.jpg\"><img loading=\"lazy\" decoding=\"async\" title=\"CCID03\" style=\"border-top-width: 0px; display: block; border-left-width: 0px; float: none; border-bottom-width: 0px; margin-left: auto; margin-right: auto; border-right-width: 0px\" height=\"224\" alt=\"CCID03\" src=\"http:\/\/kaoru.tech\/wp-content\/uploads\/2011\/03\/CCID03_thumb.jpg\" width=\"244\" border=\"0\" \/><\/a> \u6240\u6709\u53d1\u9001\u7ed9\u6307\u5b9aCCID\u69fd\u4f4d\u7684\u547d\u4ee4\u90fd\u5fc5\u987b\u540c\u6b65\u53d1\u9001\u3002\u4e00\u4e2a\u6307\u5b9a\u7684\u69fd\u4f4d\u540c\u65f6\u53ea\u80fd\u63a5\u53d7\u4e00\u6761\u547d\u4ee4\u3002\u5982\u679c\u4e00\u4e2a\u69fd\u4f4d\u51c6\u5907\u597d\u63a5\u53d7\u4e00\u4e2a\u65b0\u547d\u4ee4\u90a3\u4e48\u5c31\u8ba4\u4e3a\u5b83\u662f\u7a7a\u95f2\u7684\u3002<\/p>\n<h3>\u534f\u8bae\u548c\u53c2\u6570\u9009\u62e9<\/h3>\n<p>CCID\u5728\u4e0e\u4e3b\u673a\u7684\u5e95\u5c42\u4ea4\u4e92\u7684dwFeatures\u5b57\u6bb5\u58f0\u660eTPDU\u3001APDU\uff08\u77ed\u6216\u6269\u5c55\uff09\u6216\u8005\u5b57\u7b26\u3002<\/p>\n<h4>TPDU\u5c42\u4ea4\u4e92<\/h4>\n<p>\u5bf9\u4e8ePPS\u4ea4\u4e92\u7684TPDU\u683c\u5f0f\u5982\u4e0b\uff1a<\/p>\n<p>TPDU\u547d\u4ee4\uff1aFF PPS0 PPS1 PPS2 PPS3 PCK, with PPS1, PPS2, PPS3 optional [ISO\/IEC7816-3 \u00a77]<\/p>\n<p>TPDU\u5e94\u7b54\uff1aFF PPS0_R PPS1_R PPS2_R PPS3_R PCK_R, with PPS1_R, PPS2_R, PPS3_R optional [ISO\/IEC7816-3 \u00a77.4)<\/p>\n<h4>APDU\u5c42\u4ea4\u4e92<\/h4>\n<p>APDU\u547d\u4ee4\u548c\u5e94\u7b54\u5b9a\u4e49\u5728ISO 7816-4\u3002<\/p>\n<p>\u5b9a\u4e49\u4e86\u4e24\u79cdAPDU\u5c42\uff0c\u77edAPDU\u548c\u6269\u5c55APDU\uff0c\u8fd9\u4e9b\u5b9a\u4e49\u5728ISO\/IEC 7816-4 \u00a7 5.3.2\u3002<\/p>\n<h4>\u5b57\u7b26\u5c42\u4ea4\u4e92<\/h4>\n<p>\u5f53TPDU\u3001\u77edAPDU\u6216\u8005\u6269\u5c55APDU\u90fd\u6ca1\u9009\u62e9\u65f6\uff0c\u5b57\u7b26\u5c42\u4ea4\u4e92\u88ab\u9009\u4e2d\u3002<\/p>\n<p>\u5bf9\u4e8e\u4e3b\u673a\u548cCCID\u4e4b\u95f4\u7684\u5b57\u7b26\u5c42\u4ea4\u4e92\uff0cCCID\u652f\u6301\u4e0eICC\u7684\u5f02\u6b65\u5b57\u7b26\u4ea4\u4e92\u3002<\/p>\n<h3>\u6302\u8d77\u884c\u4e3a<\/h3>\n<p>\u5f53\u4ece\u4e00\u4e2a\u6302\u8d77\u7684USB\u6062\u590d\u65f6\uff0c\u4e3b\u673a\/\u9a71\u52a8\u5047\u8bbe\u6240\u6709\u7684ICC\u90fd\u662f\u4e0d\u6d3b\u52a8\u7684\uff08\u6389\u7535\uff09\u3002<\/p>\n<p>\u5f53USB\u603b\u7ebf\u6302\u8d77\u65f6\uff0cCCIDs\u4e0d\u8981\u6c42\u6389\u7535\u63d2\u5165\u7684ICCs\uff0c\u4f46\u662f\u53ef\u4ee5\u8fd9\u6837\u505a\u3002\u7136\u800c\uff0c\u5f53USB\u603b\u7ebf\u6062\u590d\u540e\uff0cCCIDs\u5fc5\u987b\u54cd\u5e94\u7ed9\u4e3b\u673a\u597d\u50cf\u6240\u6709\u7684\u5df2\u7ecf\u63d2\u5165\u7684ICCs\u90fd\u6389\u7535\u5e76\u88ab\u65b0\u63d2\u5165\u3002<\/p>\n<p>\u5728\u6062\u590d\u540e\uff0cCCID\u4f1a\u505a\u4e0b\u9762\u4e24\u4ef6\u4e8b\uff08\u6ca1\u6709\u7279\u5b9a\u662f\u987a\u5e8f\uff09:<\/p>\n<ul>\n<li>\u53d1\u9001RDR_to_PC_NotifySlotChange\u6d88\u606f\u544a\u77e5\u9a71\u52a8\u90a3\u4e2a\u69fd\u4f4d\u6709\u65b0\u63d2\u5165\u7684\u5361 <\/li>\n<li>CCID\u4f1a\u91cd\u65b0\u6062\u590dICCs\u4e3a\u6709\u6548\u5982\u679c\u8fd9\u4e2aCCID\u6709\u201c\u81ea\u52a8\u542f\u52a8\u5f53\u63d2\u5165\u201d\u7279\u6027\u6216\u8005\u6536\u5230\u6765\u81ea\u542f\u52a8\u7684PC_to_RDR_IccPowerOn\u6d88\u606f\u3002\u6ce8\u610f\uff1a\u5f53\u91cd\u65b0\u6062\u590d\u65f6\uff0c\u6240\u6709\u7684\u69fd\u4f4d\u53c2\u6570\u7acb\u5373\u6062\u590d\u4e3a\u9ed8\u8ba4\u3002 <\/li>\n<\/ul>\n<h2>\u6807\u51c6USB\u8868\u8ff0<\/h2>\n<h3>\u8bbe\u5907<\/h3>\n<p>\u8be6\u89c1Universal Serial Bus Specification\u4e2d\u7b2c\u4e5d\u7ae0\u201cUSB Device Framework\u201d\u3002<\/p>\n<h3>\u914d\u7f6e<\/h3>\n<p>\u8be6\u89c1Universal Serial Bus Specification\u4e2d\u7b2c\u4e5d\u7ae0\u201cUSB Device Framework\u201d\u3002<\/p>\n<h3>\u754c\u9762<\/h3>\n<table cellspacing=\"1\" cellpadding=\"1\" width=\"100%\" border=\"1\">\n<tbody>\n<tr>\n<th valign=\"top\" width=\"57\">\u504f\u79fb<\/td>\n<\/th>\n<th valign=\"top\" width=\"116\">\u5b57\u6bb5<\/td>\n<\/th>\n<th valign=\"top\" width=\"56\">\u5927\u5c0f<\/td>\n<\/th>\n<th valign=\"top\" width=\"46\">\u503c<\/td>\n<\/th>\n<th valign=\"top\" width=\"637\">\u63cf\u8ff0<\/td>\n<\/tr>\n<\/th>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"57\">0<\/td>\n<td valign=\"top\" width=\"116\">bLength<\/td>\n<td valign=\"top\" width=\"56\">1<\/td>\n<td valign=\"top\" width=\"46\">09h<\/td>\n<td valign=\"top\" width=\"637\">\u8fd9\u4e2a\u63cf\u8ff0\u7684\u5b57\u8282\u5927\u5c0f<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"57\">1<\/td>\n<td valign=\"top\" width=\"116\">bDescriptorType<\/td>\n<td valign=\"top\" width=\"56\">1<\/td>\n<td valign=\"top\" width=\"46\">04h<\/td>\n<td valign=\"top\" width=\"637\">INTERFACE\u63cf\u8ff0\u7c7b\u578b<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"57\">2<\/td>\n<td valign=\"top\" width=\"116\">bInterfaceNumber<\/td>\n<td valign=\"top\" width=\"56\">1<\/td>\n<td valign=\"top\" width=\"46\">Number<\/td>\n<td valign=\"top\" width=\"637\">\u8fd9\u4e2a\u754c\u9762\u7684\u6570\u91cf<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"57\">3<\/td>\n<td valign=\"top\" width=\"116\">bAlternateSetting<\/td>\n<td valign=\"top\" width=\"56\">1<\/td>\n<td valign=\"top\" width=\"46\">Number<\/td>\n<td valign=\"top\" width=\"637\">&#160;<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"57\">4<\/td>\n<td valign=\"top\" width=\"116\">bNumEndpoints<\/td>\n<td valign=\"top\" width=\"56\">1<\/td>\n<td valign=\"top\" width=\"46\">02h          <br \/>03h<\/td>\n<td valign=\"top\" width=\"637\">\u8fd9\u4e2a\u754c\u9762\u4f7f\u7528\u7684\u7aef\u70b9\u6570\u91cf\uff08\u9664\u4e86\u7aef\u70b90\uff09          <br \/>\u5bf9\u4e8eCCID           <br \/>02h \u4f7f\u7528bulk-IN\u548cbulk-OUT           <br \/>03h \u4f7f\u7528bulk-IN\u3001bulk-OUT\u548cinterrupt-IN<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"57\">5<\/td>\n<td valign=\"top\" width=\"116\">bInterfaceClass<\/td>\n<td valign=\"top\" width=\"56\">1<\/td>\n<td valign=\"top\" width=\"46\">0Bh<\/td>\n<td valign=\"top\" width=\"637\">\u667a\u80fd\u5361\u8bbe\u5907\u7c7b<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"57\">6<\/td>\n<td valign=\"top\" width=\"116\">bInterfaceSubClass<\/td>\n<td valign=\"top\" width=\"56\">1<\/td>\n<td valign=\"top\" width=\"46\">00h<\/td>\n<td valign=\"top\" width=\"637\">\u5b50\u7c7b\u7801<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"57\">7<\/td>\n<td valign=\"top\" width=\"116\">bInterfaceProtocol<\/td>\n<td valign=\"top\" width=\"56\">1<\/td>\n<td valign=\"top\" width=\"46\">00h<\/td>\n<td valign=\"top\" width=\"637\">\u534f\u8bae\u7801          <br \/>\u5bf9\u4e8eCCID           <br \/>00h<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"57\">8<\/td>\n<td valign=\"top\" width=\"116\">iInterface<\/td>\n<td valign=\"top\" width=\"56\">1<\/td>\n<td valign=\"top\" width=\"46\">Index<\/td>\n<td valign=\"top\" width=\"637\">\u8fd9\u4e2a\u754c\u9762\u7684\u7d22\u5f15<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>\u667a\u80fd\u5361\u8bbe\u5907\u7c7b<\/h2>\n<h3>\u63cf\u8ff0<\/h3>\n<p>\u667a\u80fd\u5361\u8bbe\u5907\u7c7b\u63cf\u8ff0\u8868\u5b9a\u4e49\u4e86\u4e00\u4e9b\u8bbe\u5907\u5c5e\u6027\u6216\u8005\u529f\u80fd<\/p>\n<table cellspacing=\"1\" cellpadding=\"1\" width=\"100%\" border=\"1\">\n<tbody>\n<tr>\n<th valign=\"top\" width=\"46\">\u504f\u79fb<\/td>\n<\/th>\n<th valign=\"top\" width=\"45\">\u5b57\u6bb5<\/td>\n<\/th>\n<th valign=\"top\" width=\"47\">\u5927\u5c0f<\/td>\n<\/th>\n<th valign=\"top\" width=\"76\">\u503c<\/td>\n<\/th>\n<th valign=\"top\" width=\"299\">\u63cf\u8ff0<\/td>\n<\/th>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"46\">0<\/td>\n<td valign=\"top\" width=\"45\">bLength<\/td>\n<td valign=\"top\" width=\"47\">1<\/td>\n<td valign=\"top\" width=\"76\">36h<\/td>\n<td valign=\"top\" width=\"299\">\u8fd9\u4e2a\u63cf\u8ff0\u7684\u5b57\u8282\u5927\u5c0f<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"46\">1<\/td>\n<td valign=\"top\" width=\"45\">bDescriptorType<\/td>\n<td valign=\"top\" width=\"47\">1<\/td>\n<td valign=\"top\" width=\"76\">21h<\/td>\n<td valign=\"top\" width=\"299\">\u529f\u80fd\u63cf\u8ff0\u7c7b\u578b<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"46\">2<\/td>\n<td valign=\"top\" width=\"45\">bcdCCID<\/td>\n<td valign=\"top\" width=\"47\">2<\/td>\n<td valign=\"top\" width=\"76\">0110h<\/td>\n<td valign=\"top\" width=\"299\">CCID          <br \/>\u4ee5\u4e8c\u8fdb\u5236\u7f16\u7801\u7684\u5341\u8fdb\u5236\u6307\u5b9a\u7248\u672c\u53f7\u7801           <br \/>\u4f8b\uff1a2.10\u662f0210h<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"46\">4<\/td>\n<td valign=\"top\" width=\"45\">bMaxSlotIndex<\/td>\n<td valign=\"top\" width=\"47\">1<\/td>\n<td valign=\"top\" width=\"76\">&#160;<\/td>\n<td valign=\"top\" width=\"299\">\u8bbe\u5907\u4e0a\u6700\u9ad8\u53ef\u7528\u69fd\u4f4d\u7684\u5e8f\u53f7\u3002\u6240\u6709\u69fd\u4f4d\u8d77\u59cb\u4e8e00h          <br \/>\u4f8b\uff1a0Fh\u4e3a\u8bbe\u5907\u4e0a\u6709\u4ece00h\u52300Fh\u517116\u4e2a\u69fd\u4f4d<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"46\">5<\/td>\n<td valign=\"top\" width=\"45\">bVoltageSupport<\/td>\n<td valign=\"top\" width=\"47\">1<\/td>\n<td valign=\"top\" width=\"76\">&#160;<\/td>\n<td valign=\"top\" width=\"299\">\u8868\u793aCCID\u53ef\u4ee5\u652f\u6301\u7684\u69fd\u4f4d\u7535\u538b\u3002          <br \/>\u8fd9\u662f\u4e00\u4e2a\u6309\u4f4d\u6216\u8fd0\u7b97           <br \/>01h \u2013 5.0V           <br \/>02h \u2013 3.0V           <br \/>04h \u2013 1.8V<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"46\">6<\/td>\n<td valign=\"top\" width=\"45\">dwProtocols<\/td>\n<td valign=\"top\" width=\"47\">4<\/td>\n<td valign=\"top\" width=\"76\">RRRR          <br \/>PPPP<\/td>\n<td valign=\"top\" width=\"299\">RRRR &#8211; \u9ad8\u5b57 &#8211; \u9884\u7559 = 0000h          <br \/>PPPP &#8211; \u4f4e\u5b57 &#8211; \u652f\u6301\u7684\u534f\u8bae\u7c7b\u578b           <br \/>0001h = T0           <br \/>0002h = T1<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"46\">10<\/td>\n<td valign=\"top\" width=\"45\">dwDefaultClock<\/td>\n<td valign=\"top\" width=\"47\">4<\/td>\n<td valign=\"top\" width=\"76\">&#160;<\/td>\n<td valign=\"top\" width=\"299\">\u9ed8\u8ba4ICC\u65f6\u949f\u9891\u7387\uff0c\u5355\u4f4dKHz\u3002          <br \/>\u4f8b\uff1a3.58MHz\u4e3a3580\uff0800000DFCh\uff09<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"46\">14<\/td>\n<td valign=\"top\" width=\"45\">dwMaximumClock<\/td>\n<td valign=\"top\" width=\"47\">4<\/td>\n<td valign=\"top\" width=\"76\">&#160;<\/td>\n<td valign=\"top\" width=\"299\">ICC\u652f\u6301\u7684\u6700\u5927\u65f6\u949f\u9891\u7387\uff0c\u5355\u4f4dKHz\u3002<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"46\">18<\/td>\n<td valign=\"top\" width=\"45\">bNumClockSupported<\/td>\n<td valign=\"top\" width=\"47\">1<\/td>\n<td valign=\"top\" width=\"76\">&#160;<\/td>\n<td valign=\"top\" width=\"299\">CCID\u652f\u6301\u7684\u65f6\u949f\u9891\u7387\u4e2a\u6570\u3002\u5982\u679c\u503c\u4e3a00h\uff0c\u65f6\u949f\u9891\u7387\u548cdwDefaultClock\u5b9a\u4e49\u7684\u4e00\u6837\u548cdwMaximumClock\u5b9a\u4e49\u7684\u6700\u5927\u9891\u7387\u3002<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"46\">19<\/td>\n<td valign=\"top\" width=\"45\">dwDataRate<\/td>\n<td valign=\"top\" width=\"47\">4<\/td>\n<td valign=\"top\" width=\"76\">&#160;<\/td>\n<td valign=\"top\" width=\"299\">\u9ed8\u8ba4ICC I\/O\u6ce2\u7279\u7387\u3002          <br \/>\u4f8b\uff1a9600\u7f16\u7801\u4e3a9600\uff0800002580h\uff09\u3002<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"46\">23<\/td>\n<td valign=\"top\" width=\"45\">dwMaxDataRate<\/td>\n<td valign=\"top\" width=\"47\">4<\/td>\n<td valign=\"top\" width=\"76\">&#160;<\/td>\n<td valign=\"top\" width=\"299\">ICC I\/O\u652f\u6301\u7684\u6700\u5927\u6ce2\u7279\u7387\u3002          <br \/>\u4f8b\uff1a115.2Kbps\u7f16\u7801\u4e3a115200\uff080001C200h\uff09\u3002<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"46\">27<\/td>\n<td valign=\"top\" width=\"45\">bNumDataRatesSupported<\/td>\n<td valign=\"top\" width=\"47\">1<\/td>\n<td valign=\"top\" width=\"76\">&#160;<\/td>\n<td valign=\"top\" width=\"299\">CCID\u652f\u6301\u7684\u6ce2\u7279\u7387\u4e2a\u6570\u3002<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"46\">28<\/td>\n<td valign=\"top\" width=\"45\">dwMaxIFSD<\/td>\n<td valign=\"top\" width=\"47\">4<\/td>\n<td valign=\"top\" width=\"76\">&#160;<\/td>\n<td valign=\"top\" width=\"299\">CCID T1\u7684\u6700\u5927IFSD\u3002<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"46\">32<\/td>\n<td valign=\"top\" width=\"45\">dwSynchProtocols<\/td>\n<td valign=\"top\" width=\"47\">4<\/td>\n<td valign=\"top\" width=\"76\">RRRR          <br \/>PPPP           <br \/>=           <br \/>00000000h<\/td>\n<td valign=\"top\" width=\"299\">RRRR- \u9ad8\u5b57 &#8211; \u9ed8\u8ba4\u4e3a0000h          <br \/>PPPP &#8211; \u4f4e\u5b57 &#8211; \u652f\u6301\u7684\u534f\u8bae\u7c7b\u578b           <br \/>0001h &#8211; \u652f\u6301\u4e24\u7ebf\u534f\u8bae           <br \/>0002h &#8211; \u652f\u6301\u4e09\u7ebf\u534f\u8bae           <br \/>0004h &#8211; \u652f\u6301I2C\u534f\u8bae           <br \/>\u6ce8: CCID\u4e0d\u652f\u6301\u8fd9\u4e9b\u534f\u8bae\u6240\u4ee5PPPP = 0000h\u3002<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"46\">36<\/td>\n<td valign=\"top\" width=\"45\">dwMechanical<\/td>\n<td valign=\"top\" width=\"47\">4<\/td>\n<td valign=\"top\" width=\"76\">00000000h          <br \/>00000008h<\/td>\n<td valign=\"top\" width=\"299\">\u8fd9\u4e2a\u503c\u662f\u4e0b\u9762\u503c\u7684\u6309\u4f4d\u4e0e\uff1a          <br \/>00000000h &#8211; \u6ca1\u6709\u76f4\u5230\u90a3\u4e2a\u7684\u7279\u6027           <br \/>00000001h &#8211; \u5361\u63a5\u53d7\u673a\u5236           <br \/>00000002h &#8211; \u5361\u79fb\u9664\u673a\u5236           <br \/>00000004h &#8211; \u5361\u6355\u83b7\u673a\u5236           <br \/>00000008h &#8211; \u5361\u52a0\u9501\/\u89e3\u9501\u673a\u5236<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"46\">40<\/td>\n<td valign=\"top\" width=\"45\">dwFeatures<\/td>\n<td valign=\"top\" width=\"47\">4<\/td>\n<td valign=\"top\" width=\"76\">xxxxxxxxh<\/td>\n<td valign=\"top\" width=\"299\">\u8fd9\u4e2a\u503c\u6307\u660eCCID\u6709\u4ec0\u4e48\u667a\u80fd\u7684\u7279\u6027\u3002\u8fd9\u4e2a\u503c\u4e3a\u4ee5\u4e0b\u503c\u7684\u6309\u4f4d\u4e0e:          <\/p>\n<ul>\n<li>00000000h &#8211; \u6ca1\u6709\u6307\u5b9a\u7684\u7279\u6027 <\/li>\n<li>00000002h &#8211; \u6839\u636eATR\u6570\u636e\u81ea\u52a8\u914d\u7f6e\u53c2\u6570 <\/li>\n<li>00000004h &#8211; \u63d2\u5165\u65f6\u81ea\u52a8\u4f7f\u80fdICC <\/li>\n<li>00000008h &#8211; \u81ea\u52a8\u9009\u62e9ICC\u7535\u538b <\/li>\n<li>00000010h &#8211; \u81ea\u52a8\u6839\u636e\u4e3b\u673a\u63d0\u4f9b\u7684\u6216\u81ea\u6d4b\u8bd5\u7684\u6709\u6548\u53c2\u6570\u6539\u53d8ICC\u59cb\u7ec8\u9891\u7387 <\/li>\n<li>00000020h &#8211; \u81ea\u52a8\u6839\u636e\u4e3b\u673a\u63d0\u4f9b\u7684\u6216\u81ea\u6d4b\u8bd5\u7684\u6709\u6548\u53c2\u6570\u6539\u53d8\u6ce2\u7279\u7387 <\/li>\n<li>00000040h &#8211; <\/li>\n<li>00000080h &#8211; <\/li>\n<li>00000100h &#8211; <\/li>\n<li>00000200h &#8211; <\/li>\n<li>00000400h &#8211; <\/li>\n<li>00000800h &#8211; <\/li>\n<li>00001000h &#8211; <\/li>\n<li>00002000h &#8211; <\/li>\n<li>00004000h &#8211; <\/li>\n<li>00008000h &#8211; <\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"46\">44<\/td>\n<td valign=\"top\" width=\"45\">dwMaxCCIDMessageLength<\/td>\n<td valign=\"top\" width=\"47\">4<\/td>\n<td valign=\"top\" width=\"76\">&#160;<\/td>\n<td valign=\"top\" width=\"299\">&#160;<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"46\">48<\/td>\n<td valign=\"top\" width=\"45\">bClassGetResponse<\/td>\n<td valign=\"top\" width=\"47\">1<\/td>\n<td valign=\"top\" width=\"76\">&#160;<\/td>\n<td valign=\"top\" width=\"299\">&#160;<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"46\">49<\/td>\n<td valign=\"top\" width=\"45\">bClassEnvelope<\/td>\n<td valign=\"top\" width=\"47\">1<\/td>\n<td valign=\"top\" width=\"76\">&#160;<\/td>\n<td valign=\"top\" width=\"299\">&#160;<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"46\">50<\/td>\n<td valign=\"top\" width=\"45\">wLcdLayout<\/td>\n<td valign=\"top\" width=\"47\">2<\/td>\n<td valign=\"top\" width=\"76\">XXYYh<\/td>\n<td valign=\"top\" width=\"299\">&#160;<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"46\">52<\/td>\n<td valign=\"top\" width=\"45\">bPINSupport<\/td>\n<td valign=\"top\" width=\"47\">1<\/td>\n<td valign=\"top\" width=\"76\">00h-03h<\/td>\n<td valign=\"top\" width=\"299\">\u6307\u660eCCID\u652f\u6301PIN\u4ec0\u4e48\u7279\u6027\u3002\u8fd9\u4e2a\u503c\u662f\u4e0b\u9762\u503c\u7684\u6309\u4f4d\u4e0e:          <br \/>01h \u652f\u6301\u9a8c\u8bc1PIN           <br \/>02h \u652f\u6301\u4fee\u6539PIN<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"46\">53<\/td>\n<td valign=\"top\" width=\"45\">bMaxCCIDBusySlots<\/td>\n<td valign=\"top\" width=\"47\">1<\/td>\n<td valign=\"top\" width=\"76\">01h-FFh<\/td>\n<td valign=\"top\" width=\"299\">\u6700\u591a\u53ef\u4ee5\u540c\u65f6\u5fd9\u7684\u69fd\u4f4d\u7684\u4e2a\u6570<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>CCID\u7aef\u70b9<\/h3>\n<p>\u9664\u4e86\u4e00\u4e2a\u9ed8\u8ba4\uff08\u63a7\u5236\uff09\u7aef\u70b9CCID\u81f3\u5c11\u652f\u63012\u4e2a\u7aef\u70b9\uff0c\u4e00\u4e2a\u662fbulk-out\uff0c\u4e00\u4e2a\u662fbulk-in\u3002\u62a5\u544aICC\u63d2\u5165\u6216\u79fb\u9664\u7684CCID\u4e5f\u5fc5\u987b\u652f\u6301\u4e00\u4e2ainterrupt\u7aef\u70b9\u3002<\/p>\n<table cellspacing=\"1\" cellpadding=\"1\" width=\"100%\" border=\"1\">\n<tbody>\n<tr>\n<th valign=\"top\" width=\"66\">\u7aef\u70b9<\/td>\n<\/th>\n<th valign=\"top\" width=\"47\">\u65b9\u5411<\/td>\n<\/th>\n<th valign=\"top\" width=\"49\">\u9009\u9879<\/td>\n<\/th>\n<th valign=\"top\">\u5b9a\u4e49<\/td>\n<\/tr>\n<\/th>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"66\">Bulk OUT<\/td>\n<td valign=\"top\" width=\"47\">OUT<\/td>\n<td valign=\"top\" width=\"49\">\u5fc5\u987b<\/td>\n<td valign=\"top\">CCID\u547d\u4ee4\u7ba1\u9053<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"66\">Bulk IN<\/td>\n<td valign=\"top\" width=\"47\">IN<\/td>\n<td valign=\"top\" width=\"49\">\u5fc5\u987b<\/td>\n<td valign=\"top\">CCID\u5e94\u7b54\u7ba1\u9053<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"66\">Interrupt<\/td>\n<td valign=\"top\" width=\"47\">IN<\/td>\n<td valign=\"top\" width=\"49\">\u53ef\u9009<\/td>\n<td valign=\"top\">CCID\u4e8b\u4ef6\u901a\u77e5\u7ba1\u9053<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4>Bulk-OUT\u7aef\u70b9<\/h4>\n<p>Bulk Out\u7aef\u70b9\u7528\u6765\u53d1\u9001\u547d\u4ee4\u548c\u4f20\u9001\u4ece\u4e3b\u673a\u5230\u8bbe\u5907\u7684\u6570\u636e<\/p>\n<table cellspacing=\"1\" cellpadding=\"1\" width=\"100%\" border=\"1\">\n<tbody>\n<tr>\n<th valign=\"top\">\u504f\u79fb<\/td>\n<\/th>\n<th valign=\"top\">\u5b57\u6bb5<\/td>\n<\/th>\n<th valign=\"top\">\u5927\u5c0f<\/td>\n<\/th>\n<th valign=\"top\">\u503c<\/td>\n<\/th>\n<th valign=\"top\">\u63cf\u8ff0<\/td>\n<\/tr>\n<\/th>\n<\/tr>\n<tr>\n<td valign=\"top\">0<\/td>\n<td valign=\"top\">bLength<\/td>\n<td valign=\"top\">1<\/td>\n<td valign=\"top\">07h<\/td>\n<td valign=\"top\">\u8fd9\u4e2a\u63cf\u8ff0\u7684\u5b57\u8282\u5927\u5c0f<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\">1<\/td>\n<td valign=\"top\">bDestriptorType<\/td>\n<td valign=\"top\">1<\/td>\n<td valign=\"top\">05h<\/td>\n<td valign=\"top\">\u7aef\u70b9\u63cf\u8ff0\u7c7b\u578b<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\">2<\/td>\n<td valign=\"top\">bEndpointAddress<\/td>\n<td valign=\"top\">1<\/td>\n<td valign=\"top\">01-0Fh<\/td>\n<td valign=\"top\">\u8fd9\u4e2aUSB\u8bbe\u5907\u7684\u7aef\u70b9\u5730\u5740\u3002          <br \/>\u8fd9\u4e2a\u5730\u5740\u4e3a1\u523015           <br \/>Bit 0..3 \u7aef\u70b9\u53f7           <br \/>Bit 4..6 \u9884\u7559\uff0c\u5fc5\u987b\u4e3a0           <br \/>Bit 7&#160;&#160;&#160;&#160;&#160; 0 = Out<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\">3<\/td>\n<td valign=\"top\">bmAttributes<\/td>\n<td valign=\"top\">1<\/td>\n<td valign=\"top\">02h<\/td>\n<td valign=\"top\">\u8fd9\u662f\u4e00\u4e2aBulk\u7aef\u70b9<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\">4<\/td>\n<td valign=\"top\">wMaxPacketSize<\/td>\n<td valign=\"top\">2<\/td>\n<td valign=\"top\">0xyzh<\/td>\n<td valign=\"top\">\u6700\u5927\u4f20\u8f93\u6570\u636e\u5927\u5c0f\u53ef\u4ee5\u4e3a8\uff0c16\uff0c32\uff0c64\u6216\u8005512\u5b57\u8282<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\">6<\/td>\n<td valign=\"top\">bInterval<\/td>\n<td valign=\"top\">1<\/td>\n<td valign=\"top\">Number<\/td>\n<td valign=\"top\">\u5bf9\u5168\u901f:          <br \/>\u5ffd\u7565           <br \/>\u5bf9\u9ad8\u901f:           <br \/>\u8fd9\u4e2a\u503c\u4e3a0\u5230255<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4>Bulk-IN\u7aef\u70b9<\/h4>\n<p>Bulk In\u7aef\u70b9\u7528\u6765\u53d1\u9001\u54cd\u5e94\u548c\u53d1\u9001\u4ece\u8bbe\u5907\u5230\u4e3b\u673a\u5e94\u7b54\u63a5\u53d7\u547d\u4ee4\u7ba1\u9053\u7684\u56de\u590d\u6570\u636e\u3002<\/p>\n<table cellspacing=\"1\" cellpadding=\"1\" width=\"100%\" border=\"1\">\n<tbody>\n<tr>\n<th valign=\"top\">\u504f\u79fb<\/td>\n<\/th>\n<th valign=\"top\">\u5b57\u6bb5<\/td>\n<\/th>\n<th valign=\"top\">\u5927\u5c0f<\/td>\n<\/th>\n<th valign=\"top\">\u503c<\/td>\n<\/th>\n<th valign=\"top\">\u63cf\u8ff0<\/td>\n<\/tr>\n<\/th>\n<\/tr>\n<tr>\n<td valign=\"top\">0<\/td>\n<td valign=\"top\">bLength<\/td>\n<td valign=\"top\">1<\/td>\n<td valign=\"top\">07h<\/td>\n<td valign=\"top\">\u8fd9\u4e2a\u63cf\u8ff0\u7684\u5b57\u8282\u5927\u5c0f<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\">1<\/td>\n<td valign=\"top\">bDestriptorType<\/td>\n<td valign=\"top\">1<\/td>\n<td valign=\"top\">05h<\/td>\n<td valign=\"top\">\u7aef\u70b9\u63cf\u8ff0\u7c7b\u578b<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\">2<\/td>\n<td valign=\"top\">bEndpointAddress<\/td>\n<td valign=\"top\">1<\/td>\n<td valign=\"top\">81-8Fh<\/td>\n<td valign=\"top\">\u8fd9\u4e2aUSB\u8bbe\u5907\u7684\u7aef\u70b9\u5730\u5740\u3002          <br \/>\u8fd9\u4e2a\u5730\u5740\u4e3a1\u523015           <br \/>Bit 0..3 \u7aef\u70b9\u53f7           <br \/>Bit 4..6 \u9884\u7559\uff0c\u5fc5\u987b\u4e3a0           <br \/>Bit 7&#160;&#160;&#160;&#160;&#160; 1 = In<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\">3<\/td>\n<td valign=\"top\">bmAttributes<\/td>\n<td valign=\"top\">1<\/td>\n<td valign=\"top\">02h<\/td>\n<td valign=\"top\">\u8fd9\u662f\u4e00\u4e2aBulk\u7aef\u70b9<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\">4<\/td>\n<td valign=\"top\">wMaxPacketSize<\/td>\n<td valign=\"top\">2<\/td>\n<td valign=\"top\">0xyzh<\/td>\n<td valign=\"top\">\u6700\u5927\u4f20\u8f93\u6570\u636e\u5927\u5c0f\u53ef\u4ee5\u4e3a8\uff0c16\uff0c32\uff0c64\u6216\u8005512\u5b57\u8282<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\">6<\/td>\n<td valign=\"top\">bInterval<\/td>\n<td valign=\"top\">1<\/td>\n<td valign=\"top\">Number<\/td>\n<td valign=\"top\">\u5bf9\u5168\u901f:          <br \/>\u5ffd\u7565           <br \/>\u5bf9\u9ad8\u901f:           <br \/>\u8fd9\u4e2a\u503c\u4e3a0\u5230255<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4>Interrupt-IN\u7aef\u70b9<\/h4>\n<p>\u4e2d\u65ad\u7aef\u70b9\u5bf9\u4e8e\u4e00\u4e2a\u652f\u6301ICC\u63d2\u5165\/\u79fb\u9664\u7684CCID\u662f\u5fc5\u987b\u7684\u3002\u5bf9\u4e8e\u4e00\u4e2a\u7ecf\u5e38\u63d2\u5165ICC\u800c\u4e0d\u79fb\u9664\u7684CCID\u662f\u53ef\u9009\u7684\u3002\u5982\u679c\u6709\u4e00\u4e2aInterrupt-In\u7aef\u70b9\uff0c\u90a3\u4e48\u9700\u8981RDR_to_PC_NotifySlotChange\u6d88\u606f\u5e76\u4e14<\/p>\n<table cellspacing=\"1\" cellpadding=\"1\" width=\"100%\" border=\"1\">\n<tbody>\n<tr>\n<th valign=\"top\">\u504f\u79fb<\/td>\n<\/th>\n<th valign=\"top\">\u5b57\u6bb5<\/td>\n<\/th>\n<th valign=\"top\">\u5927\u5c0f<\/td>\n<\/th>\n<th valign=\"top\">\u503c<\/td>\n<\/th>\n<th valign=\"top\">\u63cf\u8ff0<\/td>\n<\/tr>\n<\/th>\n<\/tr>\n<tr>\n<td valign=\"top\">0<\/td>\n<td valign=\"top\">bLength<\/td>\n<td valign=\"top\">1<\/td>\n<td valign=\"top\">07h<\/td>\n<td valign=\"top\">\u8fd9\u4e2a\u63cf\u8ff0\u7684\u5b57\u8282\u5927\u5c0f<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\">1<\/td>\n<td valign=\"top\">bDestriptorType<\/td>\n<td valign=\"top\">1<\/td>\n<td valign=\"top\">05h<\/td>\n<td valign=\"top\">\u7aef\u70b9\u63cf\u8ff0\u7c7b\u578b<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\">2<\/td>\n<td valign=\"top\">bEndpointAddress<\/td>\n<td valign=\"top\">1<\/td>\n<td valign=\"top\">81-8Fh<\/td>\n<td valign=\"top\">\u8fd9\u4e2aUSB\u8bbe\u5907\u7684\u7aef\u70b9\u5730\u5740\u3002          <br \/>\u8fd9\u4e2a\u5730\u5740\u4e3a1\u523015           <br \/>Bit 0..3 \u7aef\u70b9\u53f7           <br \/>Bit 4..6 \u9884\u7559\uff0c\u5fc5\u987b\u4e3a0           <br \/>Bit 7&#160;&#160;&#160;&#160;&#160; 1 = In<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\">3<\/td>\n<td valign=\"top\">bmAttributes<\/td>\n<td valign=\"top\">1<\/td>\n<td valign=\"top\">03h<\/td>\n<td valign=\"top\">\u8fd9\u662f\u4e00\u4e2aInterrupt\u7aef\u70b9<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\">4<\/td>\n<td valign=\"top\">wMaxPacketSize<\/td>\n<td valign=\"top\">2<\/td>\n<td valign=\"top\">0xyzh<\/td>\n<td valign=\"top\">\u6700\u5927\u4f20\u8f93\u6570\u636e\u5927\u5c0f\u53ef\u4ee5\u4e3a8\uff0c16\uff0c32\uff0c64\u6216\u8005512\u5b57\u8282<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\">6<\/td>\n<td valign=\"top\">bInterval<\/td>\n<td valign=\"top\">1<\/td>\n<td valign=\"top\">xyh<\/td>\n<td valign=\"top\">\u5bf9\u5168\u901f:&#160; <br \/>\u67e5\u8be2\u7aef\u70b9\u7684\u6361\u4e2a\uff0c\u4ee5\u6beb\u79d2\u8868\u793a\u3002\u5fc5\u987b\u4e3a1\u5230255\u3002\u5efa\u8bae255\u3002           <br \/>\u5bf9\u9ad8\u901f:           <br \/>\u8fd9\u4e2a\u503c\u4e3a0\u523016<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","protected":false},"excerpt":{"rendered":"<p>\u540d\u8bcd\u89e3\u91ca CCID: Integrated Circuit(s) Cards Interface Device ICC: Integrated Circuit(s) Cards \u6982\u8ff0 \u5f53\u4e00\u4e2aCCID\u63d2\u5165USB host\u65f6\uff0c\u5b83\u53ef\u4ee5\u6709\u6216\u8005\u6ca1\u6709\u4e00\u4e2a\u63d2\u5165\u7684ICC\u3002 CCID\u6a21\u578b\u5047\u8bbe\u4e00\u4e2aICC\u88ab\u6216\u8005\u53ef\u4ee5\u88ab\u63d2\u5165\u5230\u8bbe\u5907\u3002\u8fd9\u5c31\u662f&quot;slot change&quot;\u4e2d\u65ad\u6d88\u606f\u7684\u76ee\u7684\u3002 CCID\u529f\u80fd\u7279\u6027 \u901a\u4fe1\u7ba1\u9053 \u63a7\u5236\u7ba1\u9053 \u63a7\u5236\u7ba1\u9053\u6d88\u606f\u7528\u6765\u63a7\u5236\u4e00\u4e2aUSB\u8bbe\u5907\u3002\u8fd9\u4e9b\u6d88\u606f\u5305\u62ec\u6807\u51c6\u8bf7\u6c42\uff0c\u4f8b\u5982GET_DESCRIPTOR\u548cSET_CONFIGURATION\u3002\u547d\u4ee4\u7ecf\u7531\u9ed8\u8ba4\u7ba1\u9053\u53d1\u9001\uff0c\u62a5\u544a\u4fe1\u606f\u4e5f\u7ecf\u7531\u9ed8\u8ba4\u7ba1\u9053\u8fd4\u56de\u7ed9\u4e3b\u673a\u3002\u5982\u679c\u4ea7\u751f\u4e86\u4e00\u4e2a\u9519\u8bef\uff0c\u5b83\u4f1a\u4ea7\u751f\u4e00\u4e2a\u6807\u51c6\u7684USB\u9519\u8bef\u72b6\u6001\u3002 \u4e2d\u65ad\u7ba1\u9053 CCID\u6a21\u578b\u5728\u4e2d\u65ad\u7ba1\u9053\u5904\u7406\u5f02\u6b65\u4e8b\u4ef6\u3002ICC\u5728\u7ebf\uff0cICC\u79fb\u9664\u6216\u8005\u786c\u4ef6\u9519\u8bef\u6bd4\u5982\u7535\u6d41\u592a\u5927\uff0c\u8fd9\u4e9b\u7ecf\u7531\u8fd9\u4e2a\u7ba1\u9053\u9001\u51fa\u3002 \u4e2d\u65ad\u7ba1\u9053\u5bf9\u4e8e\u4e00\u4e2a\u652f\u6301ICC\u63d2\u5165\/\u79fb\u9664\u7684CCID\u662f\u5f3a\u5236\u7684\u3002\u5bf9\u4e8e\u4e00\u4e2a\u53ea\u63d2\u5165\u6ca1\u6709\u79fb\u9664\u7684ICC\u662f\u53ef\u9009\u7684\u3002 \u5757\u8fdb\uff0c\u5757\u51fa\u7ba1\u9053 CCID\u547d\u4ee4\u7ecf\u7531BULK-OUT\u7aef\u70b9\u53d1\u51fa\u3002\u6bcf\u4e2a\u53d1\u9001\u7ed9CCID\u7684\u547d\u4ee4\u90fd\u6709\u4e00\u4e2a\u76f8\u5e94\u7684\u54cd\u5e94\u3002\u4e00\u4e9b\u547d\u4ee4\u4e5f\u6709\u8fc7\u7a0b\u54cd\u5e94\u3002\u8fd9\u4e9b\u54cd\u5e94\u4eceBULK-IN\u7aef\u70b9\u53d1\u9001\u3002 \u6240\u6709\u53d1\u9001\u7ed9\u6307\u5b9aCCID\u69fd\u4f4d\u7684\u547d\u4ee4\u90fd\u5fc5\u987b\u540c\u6b65\u53d1\u9001\u3002\u4e00\u4e2a\u6307\u5b9a\u7684\u69fd\u4f4d\u540c\u65f6\u53ea\u80fd\u63a5\u53d7\u4e00\u6761\u547d\u4ee4\u3002\u5982\u679c\u4e00\u4e2a\u69fd\u4f4d\u51c6\u5907\u597d\u63a5\u53d7\u4e00\u4e2a\u65b0\u547d\u4ee4\u90a3\u4e48\u5c31\u8ba4\u4e3a\u5b83\u662f\u7a7a\u95f2\u7684\u3002 \u534f\u8bae\u548c\u53c2\u6570\u9009\u62e9 CCID\u5728\u4e0e\u4e3b\u673a\u7684\u5e95\u5c42\u4ea4\u4e92\u7684dwFeatures\u5b57\u6bb5\u58f0\u660eTPDU\u3001APDU\uff08\u77ed\u6216\u6269\u5c55\uff09\u6216\u8005\u5b57\u7b26\u3002 TPDU\u5c42\u4ea4\u4e92 \u5bf9\u4e8ePPS\u4ea4\u4e92\u7684TPDU\u683c\u5f0f\u5982\u4e0b\uff1a&hellip;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[66],"tags":[94,93,68],"class_list":["post-717","post","type-post","status-publish","format-standard","hentry","category-smardcard","tag-ccid","tag-smartcard","tag-usb"],"_links":{"self":[{"href":"http:\/\/kaoru.tech:7000\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/717","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/kaoru.tech:7000\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/kaoru.tech:7000\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/kaoru.tech:7000\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/kaoru.tech:7000\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=717"}],"version-history":[{"count":32,"href":"http:\/\/kaoru.tech:7000\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/717\/revisions"}],"predecessor-version":[{"id":776,"href":"http:\/\/kaoru.tech:7000\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/717\/revisions\/776"}],"wp:attachment":[{"href":"http:\/\/kaoru.tech:7000\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=717"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/kaoru.tech:7000\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=717"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/kaoru.tech:7000\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=717"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}