Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 如何使用Mono和C#禁用Mac OS上的ACR122U蜂鸣器?_Macos_Mono_Nfc_Smartcard_Pcsc - Fatal编程技术网

Macos 如何使用Mono和C#禁用Mac OS上的ACR122U蜂鸣器?

Macos 如何使用Mono和C#禁用Mac OS上的ACR122U蜂鸣器?,macos,mono,nfc,smartcard,pcsc,Macos,Mono,Nfc,Smartcard,Pcsc,请原谅我可能没有使用正确的术语,因为我是新手。我已经包装了PCSC API,该应用程序现在检测卡(使用SCardGetStatusChange)没有任何问题 现在我想做一些简单的事情,比如关掉蜂鸣器。据我所知,我首先需要使用ShareMode.SCARD\u SHARE\u DIRECT调用SCardConnect。此呼叫以“确定”应答。之后,我使用SCardControl发送以下字节: FF 00 52 00 00 (如第6.7章所述) 但是,此调用返回-2146435064。 我使用0x42

请原谅我可能没有使用正确的术语,因为我是新手。我已经包装了PCSC API,该应用程序现在检测卡(使用SCardGetStatusChange)没有任何问题

现在我想做一些简单的事情,比如关掉蜂鸣器。据我所知,我首先需要使用ShareMode.SCARD\u SHARE\u DIRECT调用SCardConnect。此呼叫以“确定”应答。之后,我使用SCardControl发送以下字节: FF 00 52 00 00 (如第6.7章所述)

但是,此调用返回-2146435064。 我使用0x42000001作为SCardControl的第二个参数。我尝试过其他几种“有根据的猜测”,但结果都是一样的

有人能让它工作吗

更新

无论我尝试什么,SCardControl都会不断返回-2146435064(SCARD\u E\u缓冲区不足)。正在进行的呼叫定义如下:

WinSCard.SCardControl (card, controlCode, ref data[0], data.Length, ref responseBuffer[0], responseBuffer.Length, ref responseLength); 
参数具有以下值:

  • card=0x1201a(通过调用SCardConnect创建)
  • 控制代码=0x42000DAC(0x42000000 | 3500),但如我所述 尝试了其他几种价值观
  • 数据=字节[]{0xFF,0x00,0x52,0x00,0x00}
  • responseBuffer=字节[100]
为了消除控制代码可能的无效值,我还尝试使用SCardTransmit(使用SCARD_PROTOCOL_RAW和SCardConnect),但结果是-2146435050(SCARD_E_NOT_transactive)

更新2


只是在Raspberry PI上尝试了相同的代码(通过libpcsclite.so),效果很好。我真的很想让它也在OSX上运行…

我刚刚发现,至少有些控制命令只有在有卡的情况下才能工作

尝试在有卡的情况下运行代码

这是目前我的工作设置,这是一个覆盆子Pi和ACS ACR1252U