KsCreateComm
此函式是否可用依装置支援项目而定。
开启连接至 EtherCAT 从站的 COM 埠,必须先建立 EtherCAT 网路以成功执行此函式。
语法
HANDLE KsCreateComm(
LPCTSTR lpFileName,
DWORD dwDesiredAccess,
DWORD dwShareMode,
LPSECURITY_ATTRIBUTES lpSecurityAttributes,
DWORD dwCreationDisposition,
DWORD dwFlagsAndAttributes,
HANDLE hTemplateFile
);
参数
lpFileName:指定欲开启的连接埠位置之空终止字串的指标。KsCreateComm 函式无法用来创建或开启档案或局部 COM 埠,只可开启连接到 EtherCAT 装置的 COM 埠,字串格式为 COM 1.0 ,为包含 COM 埠的 EtherCAT I/O 之索引;而 0 为该装置上的连接埠的索引。
dwDesiredAccess:物件存取种类,应用程式可取得读取、写入、读写及装置查询存取,此参数可为以下任何值的组合:
值 | 说明 |
---|---|
0 (zero) | 指定物件的装置查询存取,应用程式可在不存取装置的情况下查询装置属性。 |
WIN32_GENERIC_EXECUTE | 执行档案权。 |
GENERIC_READ | 指定物件的读取存取,档案可读取资料而档案指标可移动,读写存取可结合 GENERIC_WRITE。 |
GENERIC_WRITE | 指定物件的写入存取,档案可写入资料而档案指标可移动,读写存取可结合 GENERIC_READ。 |
dwShareMode:指定档案共享方式的一组位原旗标,若 dwShareMode 为 0 ,则物件不可分享,物件的后续开启操作将失败,直到控制代码关闭。
欲共享物件,使用下列一个或多个值的组合:
值 | 说明 |
---|---|
FILE_SHARE_DELETE | 只有在请求删除存取时,物件的后续开启操作将成功执行。 |
FILE_SHARE_READ | 只有在请求读取存取时,物件的后续开启操作将成功执行。 |
FILE_SHARE_WRITE | 只有在请求写入存取时,物件的后续开启操作将成功执行。 |
lpSecurityAttributes:SECURITY_ATTRIBUTES 结构指标,决定回传控制代码是否可由子处理序继承,若 lpSecurityAttributes 为 NULL,则无法继承控制代码。
结构的 lpSecurityDescriptor
成员为物件指定安全描述符,若 lpSecurityAttributes 为 NULL,物件将收到预设的安全描述符,目标档案系统必须支援文件和字典的安全性,此参数才能对档案产生影响。
dwCreationDisposition:忽略,永远开启既存的 COM 埠。
dwFlagsAndAttributes:连间埠属性。
值 | 说明 |
---|---|
Bit 0 | 连续的存取。 |
Bit 1 | 优化比率。 |
Bit 2 | 半双工。 |
Bit 3 | 点对点。 |
hTemplateFile:忽略。
回传值
若函式执行成功,则开启指定的 COM 埠控制代码;若失败,则回传 INVALID_HANDLE_VALUE,欲获取延伸错误资讯请呼叫 GetLastError。
备注
- 使用 KsCloseComm 以关闭 KsCreateComm 回传的物件控制代码。
- 如上所述,将 dwDesiredAccess 指定为零让应用程式在不实际访问装置下查询装置属性,这类的查询很有用,例如,若应用程式想要在驱动器中没有软磁碟的情况下,决定软磁碟驱动器的大小及其支援的格式。
- 某些 SDO 命令只适用于指定装置 (6001 or 6021) ,因此无法在其他装置使用,KINGSTAR 传送所有设定至两种装置 (600X 及 602X) ,并忽略失败的命令,此为预期的状态而非问题。
- SDO 命令传送两次:一次在初始化;一次在配置时。
范例
N/A
使用需求
RT | Win32 | |
---|---|---|
最低支援版本 | 4.0 | 4.0 |
标头档 | kscom.h | kscom.h |
程式库 | KsApi_Rtss.lib | ksapi.h |
参见