ePass1000 Full ActiveX Control Reference Manual Version 2.0

Error Code Value

Return Status Description Value(HEX) Value(DEC)
FT_COMMUNICATIONS_ERROR Exception occured during transfer data between device and driver. Driver recerved an invalid response from the device. Rarely occur. Try again, reboot the machine and restart the application. 0x08 8
FT_INVALID_RESP_SIZE Abnormal response received from the device. Rarely occur. Try again, reboot the machine and restart the application. 0x0D 13
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       

ChangeDir

The ChangeDir method changes the current directory.

HRESULT
ChangeDir(
[in] long lFlags,
[in] long
lDirID,
[in[ unsigned char*
pName, );

Parameters

lFlags[in] A bit mask defining the options for directory. changing. You may use OR operation to enable one or more options :

Flag Meaning  
EPAS_DIR_BY_ID When this flag is set, lDirID parameter contain ID of the directory to be changed into. This flag may be combined with EPAS_DIR_FROM_MF or EPAS_DIR_FROM_CUR_DF. lDirID must be a 16-bit directory ID.  
EPAS_DIR_BY_LONG_ID When this flag is set, lDirID parameter contain ID of the directory to be changed into. This flag may be combined with EPAS_DIR_FROM_MF, EPAS_DIR_FROM_CUR_DF, or EPAS_DIR_TO_PARENT.  
EPAS_DIR_BY_NAME When this flag is set, pName parameter contain Application Name of the directory to be changed into. This flag cannot combine with others.  
EPAS_DIR_BY_GUID When this flag is set, pName parameter contain Application GUID of the directory to be changed into. This flag cannot combine with others.  
EPAS_DIR_BY_GUID_STR When this flag is set, pName parameter contain Application GUID string of the directory to be changed into. This flag cannot combine with others.  

此函数的lFlags参数在Private\Include\EPASSAPI.H中的Flags used for directory type部分

#define EPAS_DIR_BY_ID 0x00000100
#define EPAS_DIR_BY_LONG_ID 0x00000200
#define EPAS_DIR_BY_NAME 0x00000300
#define EPAS_DIR_BY_GUID 0x00000400
#define EPAS_DIR_BY_GUID_STR 0x00000500
#define EPAS_DIR_BY_MASK 0x00000f00

OpenDevice

The OpenDevice method finds and opens an ePass1000 for exclusive access, and create a session between application and device for further operation.

HRESULT
OpenDevice(
[in]long
lFlags, [in]unsigned char* pAppID);
 

Requirement

epas_CreateContext

Parameters

lFlags
[in]This parameter defines a bit mask of options for opening a device. You may use bit-wise OR operation to select more than one option. This parameter can be a combination of one or more of the following flags:

Flag Meaning  
EPAS_OPEN_FIRST Open the first found device. This flag can be combined with EPAS_OPEN_BY_NAME, EPAS_OPEN_BY_GUID or EPAS_OPEN_BY_GUID_STR. 0x00000000
EPAS_OPEN_NEXT Open the next device. This flag can be combined with EPAS_OPEN_BY_NAME, EPAS_OPEN_BY_GUID or EPAS_OPEN_BY_GUID_STR. 0x00000001
EPAS_OPEN_CURRENT Open the currently opened device. This flag can NOT be combined with other flags. 0x00000002
EPAS_OPEN_SPECIFIC Open the device, that has same serial number value as which specified by pAppID parameter. This flag can NOT be combined with other flags. 0x00000003
EPAS_OPEN_BY_NAME Open the device containing a directory name pointed to by pAppID. This parameter may be combined with EPAS_OPEN_FIRST or EPAS_OPEN_NEXT. 0x00000100
EPAS_OPEN_BY_GUID Open the device containing a directory GUID as specified by pAppID. This flag must combined with EPAS_OPEN_FIRST or EPAS_OPEN_NEXT. 0x00000200
EPAS_OPEN_BY_GUID_STR Open the device containing a directory GUID as specified by pAppID. This flag must combined with EPAS_OPEN_FIRST or EPAS_OPEN_NEXT. 0x00000300
pAppID
[in]This optional parameter provide additional information for the open. This parameter is only used if one of the following flags is assigned. If none of the flags below are assigned, pAppID should be set to NULL.

Flag Meaning
EPAS_OPEN_SPECIFIC pAppID point to an array of two unsigned longs which specified serial number of the device to be opened. Use GetProperty function to obtain a device's serial number.
EPAS_OPEN_BY_NAME pAppID point to a NULL terminated string that specifies the Application Directory Name to open. If a device is opened, the current directory will be set to the directory ID defined by the Application Directory Name.
EPAS_OPEN_BY_GUID pAppID point to an array of 16 bytes that specified the Application Directory GUID to open. If a device is opened, the current directory will be set to the directory ID defined by the Application Directory GUID.
EPAS_OPEN_BY_GUID_STR pAppID point to a NULL terminated string that specifies the Application Directory GUID to open. If a device is opened, the current directory will be set to the directory ID defined by the Application Directory GUID. The string format is "{xxxxxxxx - xxxx - xxxx - xxxx - xxxxxxxxxxxx}". Dashes and braces are optional.
 

Remarks

The order of devices opened (first and next) is based on the order they were detected by the system. To enumerate all devices connected to the system, use EPAS_OPEN_FIRST and EPAS_OPEN_NEXT until FT_UNIT_NOT_FOUND is returned.

Application access to ePass1000 is exclusive. Only one application can open an ePass1000 at one time. If any other application attempt to open this ePass1000, will get return code FT_DEVICE_IN_USE.

You can open specific ePass1000 by combining EPAS_OPEN_FIRST, EPAS_OPEN_NEXT flags with EPAS_OPEN_BY_NAME , EPAS_OPEN_BY_GUID, or EPAS_OPEN_BY_GUID_STR.

If you known serial number of the ePass1000 you intend to open, use EPAS_OPEN_SPECIFIC.

Return Values

If the function succeeds, FT_SUCCESS returned.

If the library failed to open the device driver, FT_CANNOT_OPEN_DRIVER is returned.

If the library do not support version of the driver, FT_INVALID_DRVR_VERSION is returned.

If there is no device connected to the system currently, FT_UNIT_NOT_FOUND is returned.

If the device is already opened by another application, FT_DEVICE_IN_USE is returned.

For a list of all return codes, see Error Code Values.

////
/// Flags used by epas_OpenDevice()
//
#define EPAS_OPEN_NEXT 0x00000000
#define EPAS_OPEN_FIRST 0x00000001
#define EPAS_OPEN_CURRENT 0x00000002
#define EPAS_OPEN_SPECIFIC 0x00000003

#define EPAS_OPEN_MASK 0x00000007

#define EPAS_OPEN_BY_NAME 0x00000100
#define EPAS_OPEN_BY_GUID 0x00000200
#define EPAS_OPEN_BY_GUID_STR 0x00000300

#define EPAS_OPEN_BY_MASK 0x00000F00

ePass1000 Full ActiveX Control Reference Manual Version 2.0的更多相关文章

  1. This manual page is part of Xcode Tools version 5.0

    https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/xcodebuild.1.ht ...

  2. Sphinx 2.2.11-release reference manual

    1. Introduction 1.1. About 1.2. Sphinx features 1.3. Where to get Sphinx 1.4. License 1.5. Credits 1 ...

  3. 一个ActiveX control的创建过程

    创建 根据这篇文章的介绍:http://www.cnblogs.com/time-is-life/p/6354152.html 来创建,里面包含了创建的基本过程以及属性事件方法的使用. 使用: 参考文 ...

  4. How to develop and deploy ActiveX control in C#

    Link:https://blogs.msdn.microsoft.com/asiatech/2011/12/05/how-to-develop-and-deploy-activex-control- ...

  5. 阅读Cortex-A53 Technical Reference Manual笔记

    1. 前言 一颗芯片最主要的就是CPU核了,处理CPU Core之外,还存在很多其他IP,包括Graphical.Multimedia.Memory Controller.USB Controller ...

  6. official shiro(Reference Manual)

    Apache Shiro Reference Documentation Overview Core Spring-based Applications 1.Overview pom.xml < ...

  7. ASP.NET Core: You must add a reference to assembly mscorlib, version=4.0.0.0

    ASP.NET Core 引用外部程序包的时候,有时会出现下面的错误: The type 'Object' is defined in an assembly that is not referenc ...

  8. OpenCASCADE6.8.0 Reference Manual Serach Problem

    OpenCASCADE6.8.0 Reference Manual Serach Problem eryar@163.com 1. Problem 有网友反映OpenCASCADE6.8.0的Refe ...

  9. OCX控件在IE中无法侦测到键盘消息( MFC ActiveX Control in IE Doesn't Detect Keystrokes)

    症状描述: Accelerator keys, such as ARROW keys, are first received by the message pump of the ActiveX co ...

随机推荐

  1. Win7电脑无法启用无线连接或无线连不上网

    1. 上不去网,看是否是无线网卡禁止. 2. 打开控制面板--网络和Internet--查看网络状态和任务--更改网络适配器 3. 4.若启用后无线网络连接仍为灰色,继续往下看 5.点击开始,找到运行 ...

  2. setTimeout和setInterval的各自使用场景

    默认的 setTimeout 只执行一次, 清除用clearTimeout setInterval 每间隔指定的时间, 就执行一次, 清除用clearInterval 但是, setTimeout也可 ...

  3. php去掉字符串的最后一个字符附substr()的用法

    转自:http://www.jb51.net/article/26604.htm 今天项目中用到,去掉字符串中的最后一个字符 原字符串1,2,3,4,5,6, 去掉最后一个字符"," ...

  4. SWFUpload 2.5.0版 官方说明文档 中文翻译版

    原文地址:http://www.cnblogs.com/youring2/archive/2012/07/13/2590010.html#setFileUploadLimit SWFUpload v2 ...

  5. Markdown 写作工具选择

    Markdown 写作工具选择 候选产品 参考了少数派网站 markdown 写作工具2015年度盘点 http://sspai.com/32483, Windows 下 Markdown 的编辑工具 ...

  6. Linux中postfix邮件服务器的搭建

    postfix是Wietse Venema在IBM的GPL协议之下开发的MTA(邮件传输代理)软件.postfix是Wietse Venema想要为使用最广泛的sendmail提供替代品的一个尝试.在 ...

  7. 在PHP中$_SESSION的使用方法

    使用PHP应用session时,将session中的数据存储在服务器上,然后通过客户端传来的sessionID识别客户端的信息,并提取信息. php中的session的常用操作:session的写入. ...

  8. 【PHP面向对象(OOP)编程入门教程】2.什么是类,什么是对象,类和对象这间的关系

    类的概念:类是具有相同属性和服务的一组对象的集合.它为属于该类的所有对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分.在面向对象的编程语言中,类是一个独立的程序单位,它应该有一个类名并包括属 ...

  9. 【C语言入门教程】2.8 C 语言的预处理命令

    预处理命令是在程序编译阶段进行执行的命令,用于编译与特定环境相关的可执行文件.预处理命令扩展了 C 语言,本节将选择其中一些常用的预处理命令进行讲解. 2.8.1 宏替换命令 宏替换命令的作用类似于对 ...

  10. 更新引用google的cdn外部jQuery核心库JS文件

    jquery-2.0.3   注!不再支持IE 6/7/8 直接引用地址: <script src="http://ajax.googleapis.com/ajax/libs/jque ...