原諒我可能沒有使用正確的術語,因爲我是新手。我已經包裝了PCSC API,現在應用程序檢測到卡(使用SCardGetStatusChange)而沒有任何問題。如何在Mac OS上使用Mono和C#禁用ACR122U蜂鳴器?
現在我希望能夠做到像關閉蜂鳴器一樣簡單的事情。據我所知,我首先需要與ShareMode.SCARD_SHARE_DIRECT調用SCardConnect。此通話以確定回覆。從那以後,我使用SCardControl發送以下字節: FF 00 52 00 00 (如在http://www.acs.com.hk/download-manual/419/API-ACR122U-2.02.pdf 6.7章所述)
然而,這個調用返回-2146435064。 我使用0x42000001作爲SCardControl的第二個參數。我嘗試過其他幾項「受過教育的猜測」,但都有相同的結果。
有沒有人得到這個工作?
UPDATE
無論我怎麼努力,SCardControl不斷返回-2146435064(SCARD_E_INSUFFICIENT_BUFFER)。正在進行的呼叫被定義如下:
WinSCard.SCardControl (card, controlCode, ref data[0], data.Length, ref responseBuffer[0], responseBuffer.Length, ref responseLength);
用具有下列值的參數:
- 卡= 0x1201a
- controlCode = 0x42000DAC(通過調用SCardConnect創建)(0x42000000 | 3500),但如所提到的我有 試過其他幾個值
- 數據=字節[] {0xFF時,0×00,0×52,0x00時,0×00}
- responseBuffer =字節[100]
在試圖消除controlCode我還試圖使用SCardTransmit(使用SCardConnect SCARD_PROTOCOL_RAW)的可能的無效值,但是這導致-2146435050(SCARD_E_NOT_TRANSACTED)
UPDATE 2
剛剛嘗試了Raspberry PI上的相同代碼(通過libpcsclite.so),它工作正常。我真的很想讓它在OS X上運行,儘管...