FT_OpenEx函数的用法

介绍FT_OpenEx函数的用法、参数、返回值、注意事项、适用的操作系统环境、调用代码示例等。

汉印FT800作业打印机家用小型学生a4迷你迷小型手持宿舍家庭错题A4热敏无线手机蓝牙便携式天猫精灵一体机帮
内置天猫精灵系统 花一台机器钱 当两台用! | 月销量1003件
优惠价348元
原价¥899

淘口令:

¥xJUNXcv7Hnu¥
 

支持的操作系统

Linux

Mac OS X 10.4 以上版本

Windows 2000 以上版本

Windows CE 4.2  以上版本

概述

FT_OpenEx函数打开指定的设备,返回设备句柄。可以通过参数打开指定序列号、指定描述符、指定地址(locationID)的设备。该函数也可以同时打开多个设备。多个设备通过序列号、设备描述符、或者locationID(继承自USB设备的物理地址)。
特定USB端口的地址(locationID)可以通过USBView工具查看,以十六进制显示。
接入系统的设备,其locationID可以调用 FT_GetDeviceInfoList 或 FT_ListDevices 并指定相应的参数来获取。

定义

FT_STATUS FT_OpenEx (PVOID pvArg1, DWORD dwFlags, FT_HANDLE *ftHandle)

参数说明

pvArg1—指针,其指向的地址类型取决于dwFlags的值。一般情况下,作为指向字符串的指针,字符串以’\0’作为结束标志。
dwFlags—FT_OPEN_BY_SERIAL_NUMBER, FT_OPEN_BY_DESCRIPTION 或FT_OPEN_BY_LOCATION.
ftHandle—指向设备句柄存储地址的指针。句柄用于后续对设备的操作。

返回值

成功则返回FT_OK,如果失败则根据错误原因返回特定的错误码(FT_*).

备注

参数pvArg1内容的含义取决于dwFlags: 如果 dwFlags 设置为 FT_OPEN_BY_SERIAL_NUMBER, 参数pvArg1指向设备序列号字符串的指针;

如果 dwFlags 设置为 FT_OPEN_BY_DESCRIPTION, 参数pvArg1 为指向设备描述符字符串的指针;

如果 dwFlags 设置为 FT_OPEN_BY_LOCATION, 参数pvArg1为long类型数据,代表设备的物理地址location ID。

请注意,Windows CE和 Linux操作系统不支持location IDs.

参数ftHandle指向存储设备句柄地址的指针,该句柄用于访问设备。

代码示例

The examples that follow use these variables.
FT_STATUS ftStatus;
FT_STATUS ftStatus2;
FT_HANDLE ftHandle1;
FT_HANDLE ftHandle2;
long dwLoc;
1. 打开序列号(serial number)为”FT000001″的设备
ftStatus = FT_OpenEx(“FT000001”,FT_OPEN_BY_SERIAL_NUMBER,&ftHandle1);
if (ftStatus == FT_OK) {
// success – device with serial number “FT000001” is open
}
else {
// failure
}
2. 打开设备描述符(device description)为 “USB Serial Converter”的设备
ftStatus = FT_OpenEx(“USB Serial Converter”,FT_OPEN_BY_DESCRIPTION,&ftHandle1);
if (ftStatus == FT_OK) {
// success – device with device description “USB Serial Converter” is open
}
else {
// failure
}
3. 同时打开序列号(serial numbers)为 “FT000001” 和 “FT999999″的两台设备
ftStatus = FT_OpenEx(“FT000001”,FT_OPEN_BY_SERIAL_NUMBER,&ftHandle1);
ftStatus2 = FT_OpenEx(“FT999999”,FT_OPEN_BY_SERIAL_NUMBER,&ftHandle2);
if (ftStatus == FT_OK && ftStatus2 == FT_OK) {
// success – both devices are open
}
else {
// failure – one or both of the devices has not been opened
}
4. 同时打开设备描述符(descriptions)为 “USB Serial Converter” 和 “USB Pump Controller”的两个设备
ftStatus = FT_OpenEx(“USB Serial Converter”,FT_OPEN_BY_DESCRIPTION,&ftHandle1);
ftStatus2 = FT_OpenEx(“USB Pump Controller”,FT_OPEN_BY_DESCRIPTION,&ftHandle2);
if (ftStatus == FT_OK && ftStatus2 == FT_OK) {
// success – both devices are open
}
else {
// failure – one or both of the devices has not been opened
}
5. 打开物理地址(locationID) 23的设备
dwLoc = 0x23;
ftStatus = FT_OpenEx(dwLoc,FT_OPEN_BY_LOCATION,&ftHandle1);
if (ftStatus == FT_OK) {
// success – device at location 23 is open
}
else {
// failure
}
6. 打开 2 个设备,地址分别为23 和 31
dwLoc = 0x23;
ftStatus = FT_OpenEx(dwLoc,FT_OPEN_BY_LOCATION,&ftHandle1);
dwLoc = 0x31;
ftStatus2 = FT_OpenEx(dwLoc,FT_OPEN_BY_LOCATION,&ftHandle2);
if (ftStatus == FT_OK && ftStatus2 == FT_OK) {
// success – both devices are open
}
else {
// failure – one or both of the devices has not been opened
}

© 版权声明
THE END
喜欢就支持一下吧,技术咨询可以联系QQ407933975
点赞0
分享
评论 抢沙发