ISCardLocate::FindCard 方法

[ FindCard 方法可用于“要求”部分中指定的操作系统。 它不适用于 Windows Server 2003 Service Pack 1 (SP1) 及更高版本、Windows Vista、Windows Server 2008 和操作系统的后续版本。 智能卡模块提供类似的功能。]

FindCard 方法搜索智能卡并打开与智能卡的有效连接。

语法

HRESULT FindCard(
  [in]  SCARD_SHARE_MODES ShareMode,
  [in]  SCARD_PROTOCOLS   Protocols,
  [in]  LONG              lFlags,
  [out] LPSCARDINFO       *ppCardInfo
);

parameters

ShareMode [in]

打开智能卡连接时共享或不共享智能卡的模式。

含义
独家
没有其他人使用此连接到智能卡。
共享
其他应用程序可以使用此连接。

 

协议 [in]

连接到卡时要使用的协议。

T0

T1

RAW

T0|T1

lFlags [in]

指定 用户界面的 显示时间:

含义
SC_DLG_MINIMAL_UI
仅当调用应用程序搜索的卡未找到且可用于读取器时,才显示对话框。 这样就可以找到卡,通过内部对话框机制或使用用户回调函数) (连接,并将其返回到调用应用程序。
SC_DLG_NO_UI
无论搜索结果如何,都会导致不显示 UI。
SC_DLG_FORCE_UI
无论搜索结果如何,都会导致 UI 显示。

 

ppCardInfo [out]

指向数据结构的指针的指针,该数据结构包含或返回有关打开的智能卡的信息(如果成功)。 如果操作失败,则 为 NULL

返回值

方法返回以下可能值之一。

返回代码 说明
S_OK
操作已成功完成。
E_INVALIDARG
参数无效。
E_POINTER
ppCardInfo 中传递了错误的指针。
E_OUTOFMEMORY
内存不足。

 

备注

若要设置搜索的搜索条件,请调用 ConfigureCardNameSearch 以指定智能卡卡名称。

有关此接口提供的所有方法的列表,请参阅 ISCardLocate

除了上面列出的 COM 错误代码之外,如果调用智能卡函数来完成请求,则此接口可能返回智能卡错误代码。 有关详细信息,请参阅 智能卡返回值

要求

要求
最低受支持的客户端
Windows XP [仅限桌面应用]
最低受支持的服务器
Windows Server 2003 [仅限桌面应用]
终止客户端支持
Windows XP
终止服务器支持
Windows Server 2003
标头
Scardmgr.h
类型库
Scardmgr.tlb
DLL
Scardssp.dll
IID
IID_ISCardLocate定义为 1461AACD-6810-11D0-918F-00AA00C18068

另请参阅

ConfigureCardNameSearch

ISCardLocate