com组件的使用
使用时需要注册
IssueTCrd.dll,如果是64位机,则需要将该dll拷贝到C:\Windows\SysWOW64文件夹下,并以管理员身份运行CMD,使用regesvr32
C:\Windows\SysWOW64\
IssueTCrd.dllj进行注册。
VC调用时需要使用如下代码。
#import
"
C:\Windows\SysWOW64
\IssueTCrd.dll"
no_namespace
CoInitialize
(
NULL
); //CoInitialize是Windows提供的API函数,用来告诉 Windows以单线程的方式创建com对象。
CLSID
clsid
;
HRESULT
hr
=
CLSIDFromProgID
(
OLESTR
(
"IssueTCrd.DigiCard"
), &
clsid
); //此函数的功能是根据给定的程序标识符从注册表找出对应的类标识符 。
if
(
FAILED
(
hr
))
return
hr
;
_DigiCard
*
ptr
=
NULL
;
hr
=
CoCreateInstance
(
clsid
,
NULL
,
CLSCTX_INPROC_SERVER
,
__uuidof
(
_DigiCard
), (
LPVOID
*)&
ptr
); //用指定的类标识符创建一个Com对象,用指定的类标识符创建一个未初始化的对象。
if
(
FAILED
(
hr
))
return
hr
;
int
ret
=
ptr
->
ReadCard
(
Port
,
CardNo1
,
RoomNo1
,
EndDate1
);//该接口为
IssueTCrd.dll中的接口
CoUninitialize
();
ptr
->
Release
();