2016-07-18 5 views
0

スマートカードリーダーを持つ初心者。私はACR1252uを購入し、ブザーを無効にして動いてしまった。私はこのコードを試してみました: https://the--semicolon.blogspot.it/p/this-is-simple-way-to-restart-your.html?showComment=1468833507200スマートカードリーダーのブザーをオフにするにはどうしたらいいですか?

public void turnOffBuzzer() 
     { 
       retCode = Card.SCardConnect(hContext, readername, Card.SCARD_SHARE_SHARED, Card.SCARD_PROTOCOL_T0 | Card.SCARD_PROTOCOL_T1, ref hCard, ref Protocol); 
       byte data= 0x00 ; 
       byte[] control = new byte[] { 0xE0, 0x00, 0x00, 0x28, 0x01 }; 
       uint value = BitConverter.ToUInt32(control, 0); 
       byte receivedBytes = new byte(); 
       int pcbBytesReturned = 0; 
       long status = Card.SCardControl(hCard, value, ref data, 1,ref receivedBytes , 1, ref pcbBytesReturned); 
       MessageBox.Show(status.ToString()); 
     } 

をしかし状況は、私がどのようにその作業を見出したウンム私に1ない0

答えて

0

を与えます!主導をオフにする

retCode = Card.SCardConnect(hContext, readername, Card.SCARD_SHARE_SHARED, 
        Card.SCARD_PROTOCOL_T0 | Card.SCARD_PROTOCOL_T1, ref hCard, ref Protocol); 

      Byte[] setBuzzerLoud = new Byte[6]; 
      setBuzzerLoud[0] = 0xE0; 
      setBuzzerLoud[1] = 0x00; 
      setBuzzerLoud[2] = 0x00; 
      setBuzzerLoud[3] = 0x21; 
      setBuzzerLoud[4] = 0x01; 
      setBuzzerLoud[5] = 0x77; 
      uint pcBytesReturned = 0; 
      Byte[] RecieveBuff = new Byte[64]; 
      uint controlcode = 3225264; 
      int status = Card.SCardControl(hCard, controlcode, ref setBuzzerLoud[0], 6, ref RecieveBuff[0], RecieveBuff.Length, ref pcBytesReturned); 

      MessageBox.Show(status.ToString()); 

::ブザーをオフにする

retCode = Card.SCardConnect(hContext, readername, Card.SCARD_SHARE_SHARED, 
       Card.SCARD_PROTOCOL_T0 | Card.SCARD_PROTOCOL_T1, ref hCard, ref Protocol); 

      Byte[] setLEDOFF = new Byte[6]; 
      setLEDOFF[0] = 0xE0; 
      setLEDOFF[1] = 0x00; 
      setLEDOFF[2] = 0x00; 
      setLEDOFF[3] = 0x21; 
      setLEDOFF[4] = 0x01; 
      setLEDOFF[5] = 0x79; 
      uint pcBytesReturned = 0; 
      Byte[] RecieveBuff = new Byte[64]; 
      uint controlcode = 3225264; 
      int status = Card.SCardControl(hCard, controlcode, ref setLEDOFF[0], 6, ref RecieveBuff[0], RecieveBuff.Length, ref pcBytesReturned); 

      MessageBox.Show(status.ToString()); 

RFをオフにする:

retCode = Card.SCardConnect(hContext, readername, Card.SCARD_SHARE_SHARED, 
      Card.SCARD_PROTOCOL_T0 | Card.SCARD_PROTOCOL_T1, ref hCard, ref Protocol); 

      Byte[] setRFOff = new Byte[6]; 
      setRFOff[0] = 0xE0; 
      setRFOff[1] = 0x00; 
      setRFOff[2] = 0x00; 
      setRFOff[3] = 0x23; 
      setRFOff[4] = 0x01; 
      setRFOff[5] = 0x80; 
      uint pcBytesReturned = 0; 
      Byte[] RecieveBuff = new Byte[64]; 
      uint controlcode = 3225264; 
      int status = Card.SCardControl(hCard, controlcode, ref setRFOff[0], 6, ref RecieveBuff[0], RecieveBuff.Length, ref pcBytesReturned); 

      MessageBox.Show(status.ToString()); 

興味深いのは、制御コードでありますどこでこのスマートカードリーダーのために見つけるためにリンクに記載されているC++コードをデバッグしました:

DWORD controlcode = SCARD_CTL_CODE(3500); 

エスケープコードは、ページ77分の41で書かれています。

SCARD_CTL_CODE(3500)

唯一の問題は、カードリーダーのRFIDずに設定をオフにする方法です。私はまた、それを試してみるつもりのUSBパラメータのいくつかのレジストリキーを変更について話している記事を発見した。これについて私を助けることができる人なら誰でも嬉しいでしょう。

完了! お楽しみください

関連する問題