问题标签 [winscard]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
6623 浏览

windows - 如何在 Windows 8 上正确使用 SCardGetStatusChange?

智能卡服务在 Windows 8 上的行为有所不同,并且 MSDN 尚未更新其文档。谁能提供有关如何正确调用 SCardGetStatusChange 以监视 Windows 8 上的智能卡操作的代码片段?提前致谢!

0 投票
1 回答
7507 浏览

visual-c++ - 在哪里可以找到用于 VC++ 2010(Win 7)中 PC/SC 编程的 winscard.lib?

我想在 win7 x32 环境中使用 VC++ 2010 编写一个 PC/SC 应用程序。
我的程序无法编译,出现如下链接错误:

我想我需要将 winscard.lib 包含到我的项目中,但我在系统上的任何地方都找不到它。所以我想我需要安装 SDK 或开发包之类的东西,但我在网上找不到任何合适的信息,有人可以帮我吗?

0 投票
2 回答
1572 浏览

c# - 从 C# 调用 C 函数时如何处理可选结构参数

如何跳过 C# 中的可选参数 (pioRecvPci)?我认为主要问题是在 C 中参数是一个指针,因此可以提供 NULL 而在 C# 中使用结构上的 ref 关键字,根据定义不能为空。

C代码

C# 代码

0 投票
0 回答
2223 浏览

c# - 如何根据 USB 端口位置连接到智能卡读卡器?

我目前正在对多个智能卡读卡器识别进行一些研究和测试,以确定哪个读卡器连接到哪个 USB 端口。

假设我将 Reader A 插入 USB 端口 1。通过调用 SCardListReaders 函数,我检索到以下友好名称:

  • ACS ACR1281 1S 双读卡器 PICC 0

然后我将另一个阅读器(阅读器 B)插入 USB 端口 2。现在我有 2 个阅读器连接到同一台 PC。调用 SCardListReaders 会给我:

  • ACS ACR1281 1S 双读卡器 PICC 0
  • ACS ACR1281 1S 双读卡器 PICC 1

我知道这些名称是如何生成的(PCSC 智能卡读卡器的“友好名称”是如何构造的?)并且我知道以不同的顺序插入读卡器(先插入读卡器 B,然后插入读卡器 A)会改变 SCARD_ATTR_DEVICE_UNIT影响友好名称。

基于上述场景,如何确保 PC 始终自动连接 USB 端口 1 中的 PICC 读卡器,无论其友好名称如何?

任何帮助都感激不尽。谢谢你。

0 投票
0 回答
1653 浏览

windows - 使用 WinSCard 库:“__in”未在此范围内声明

我正在尝试使用 WinSCard 库从 Myfare 卡中读取数据。为此,我链接到 WinSCard.lib 并包含标题“WinSCard.h”。

从我的 .pro 文件中:

从我的 .cpp 文件中:

但是现在我得到了几十个错误(准确地说是 337 个)未定义的符号,如 '_ in'、' _ out'、'__reserved' 等等。我使用 QtCreator/mingw++ 作为环境。我的猜测是,这些是特定于库或特定于 Windows 的 typedef。

这些错误是通过包含头文件发生的,我还没有使用任何 API 函数。

谁能给我一个提示,我需要包含/链接什么来满足编译器?

谢谢

0 投票
1 回答
246 浏览

smartcard - 来自智能卡读卡器的 Reader MaxIFSD 属性

我正在尝试找到一种在不存在卡时从读卡器读取 IFD(接口设备 - 序列号)属性的方法。SCard API 似乎有这样的要求,即所有属性只能通过卡句柄读取。虽然这对于卡片属性来说似乎很明显,但读取阅读器属性似乎是一个不好的要求。

我正在研究的一种方法是直接向阅读器驱动程序发送 TLV 命令;这应该可行,但问题是我需要弄清楚驱动程序为其 FDO 公开的名称。

甚至我下载并测试过的许多智能卡实用程序也要求存在卡。然而,一个实用程序 (PCSCDiag.exe) 能够获得我所追求的一个值,即使该卡不存在也是如此。

0 投票
0 回答
881 浏览

c# - 模拟读卡器

我正在 C# 中使用 winscard.dll 与智能卡进行通信。现在我没有可以测试的读卡器,所以我现在正在处理基本的 PInvoke 层,但我无法测试它,因为我没有运行智能卡服务。现在的问题是:

有没有办法在 Windows 上模拟智能卡(读卡器),以便从 winscard api 中看到?

0 投票
1 回答
3355 浏览

c# - 带有 WCF 的 Winscard Dll

我的项目结构

我想与附加的智能卡阅读器进行通信。

我遵循的四个步骤是

  1. ScardEstablishContext
  2. 通过 SCardListReaders 获取阅读器名称
  3. SCardConnect
  4. 使用 SCardTransmit 读取

前三个步骤成功执行,但是当我尝试执行 SCardTransmit 时,它返回了87的响应代码。

第二方面,上述场景是当我从 WCF 服务调用它时。现在我在 Windows FOrm 应用程序中使用相同的 ClassLib2,它可以正常通信。

在 ModWinsCard 类中

0 投票
1 回答
1907 浏览

c# - 使用 WINSCRD 传递 APDU 命令

下面是来自 winscard API 的函数

但是第三个参数接受类似于类似的APDU命令 FF B2 A4 03 0E
所以我想知道如果我已经以字符串形式将其以字节形式传递给该参数。

我知道这可能是复制,但我找不到解决方案。任何链接或其他信息都会很有帮助。

提前致谢。

0 投票
1 回答
748 浏览

python - python脚本访问winscard.dll

大家好我正在编写一个python脚本来访问windows的winscard.dll。

以上返回值错误如下

这种情况下的值错误表示参数错误。但我不知道还有什么可以作为输入来使它工作,我尝试了几种输入组合。

谢谢你们。