文件管理 · 2022年8月7日

ntcreateport头文件|指定给 NtCreatePort 的无效对象属性或指定给 NtConnectPort 的无效端口属性

① 如何用程序关闭一个已经打开的串口

串口已经被打开,我如何在程序里判断,并把他关闭 ,然后在打开#include "stdafx.h"#include "Uart.h"#include <windows.h>#include <stdio.h>HANDLE UART_Open(int nPort, int nBuadRate){ char nt_port[10]={0}; sprintf(nt_port,"COM%d",nPort); hCom = CreateFile(nt_port,GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL); //int ret = 0; if(hCom==(HANDLE)-1) { AfxMessageBox("打开COM失败!!"); //TRACE("OPEN_PORT_FAIL\n"); // return OPEN_PORT_FAIL; } if(hCom == INVALID_HANDLE_VALUE) { AfxMessageBox("打开COM失败!!"); //TRACE("OPEN_PORT_FAIL\n"); // return OPEN_PORT_FAIL; }DCB dcb; if(!GetCommState(hCom,&dcb)) //获取COM口的设备控制块 { CloseHandle(hCom); AfxMessageBox("获取串口参数失败!!"); // TRACE("GET_COM_STATA_FAIL\n"); // return GET_COM_STATA_FAIL; } dcb.BaudRate=nBuadRate; dcb.ByteSize=8; dcb.Parity=NOPARITY; dcb.StopBits=ONESTOPBIT; if(!SetCommState(hCom,&dcb)) //设置COM口的设备控制块 { CloseHandle(hCom); AfxMessageBox("设置串口参数失败!!"); // TRACE("SET_COM_STATA_FAIL\n"); // return SET_COM_STATA_FAIL; } SetupComm(hCom,1024,1024); //输入缓冲区和输出缓冲区的大小都是1024 COMMTIMEOUTS TimeOuts; //设定读超时 TimeOuts.ReadIntervalTimeout=1000; TimeOuts.ReadTotalTimeoutMultiplier=300; TimeOuts.ReadTotalTimeoutConstant=2000; //设定写超时 TimeOuts.WriteTotalTimeoutMultiplier=300; TimeOuts.WriteTotalTimeoutConstant=2000; if(!SetCommTimeouts(hCom,&TimeOuts)) //将超时参数写入设备控制 { CloseHandle(hCom); AfxMessageBox("设置串口超时失败!!"); // TRACE("SET_COM_TIMEOUT_FAIL\n"); // return SET_COM_TIMEOUT_FAIL; } PurgeComm(hCom,PURGE_TXCLEAR|PURGE_RXCLEAR); //清空缓冲区 return hCom;}int UART_Read(HANDLE hCom, char *buf, int buf_len){ int ret = 0; Dword len; ret = ReadFile(hCom,buf,buf_len,&len,NULL); if(!ret) { //TRACE("RECV_DATA_FAIL\n"); AfxMessageBox("读取数据失败!!"); return RECV_DATA_FAIL; } if(len == 0) { // TRACE("RECV_DATA_TIMEOUT\n"); AfxMessageBox("读取数据超时!!"); return RECV_DATA_TIMEOUT; } return 0;}int UART_Write(HANDLE hCom, char *buf, int buf_len){ int ret = 0; DWORD len;// ClearCommError(hCom,&dErrorflag,&comstat); ret = WriteFile(hCom,buf,buf_len,&len,NULL); if(!ret) { //TRACE("SEND_DATA_FAIL\n"); AfxMessageBox("写入数据失败!!"); return SEND_DATA_FAIL; } if(len==0) { //TRACE("SEND_DATA_TIMEOUT\n"); AfxMessageBox("写入数据超时!!"); return SEND_DATA_TIMEOUT; } PurgeComm(hCom,PURGE_TXABORT|PURGE_RXABORT|PURGE_TXCLEAR|PURGE_RXCLEAR); //清空缓冲区 return 0;}int UART_Close(HANDLE hCom){ int ret=0; ret=CloseHandle(hCom); if(!ret) { // TRACE("CLOSE_PORT_FAIL\n"); AfxMessageBox("关闭串口失败!!"); return CLOSE_PORT_FAIL ; } return 0; }

② 无法启动此程序 因为计算机中丢失NTPORT.DLL.请尝试重新安装此程序以解决问题。这个该怎么解决啊

这个一般只需要在网上去下载相同的文件,然后放到C:\windows\system32下面即可,如果之后还提示、一般是由于缺少系统组件,比如VC运行库什么的。

③ 指定给 NtCreatePort 的无效对象属性或指定给 NtConnectPort 的无效端口属性

重新安装一下网卡驱动试试驱动下载:看一下主机后面的主机编号,然后到下列网址,在页面中间第二个对话框把编号输入查找[url]http://support1.lenovo.com.cn/lenovo/wsi/Moles/Drive.aspx?seq=2[/url]

④ ⅤⅠNTAGE PORT1985是什么酒

咨询记录 · 回答于2021-03-21

⑤ NtConnectPort

iceSword冰刃只是辅助的杀毒软件不是真正意义上的杀毒软件有可能误报如果你感觉中毒建议使用杀毒软件杀毒你想想iceSword冰刃多大?杀毒软件多大?如果最新杀毒软件没有提示中毒就可以放心了重新启动,按住F8,进入安全模式,再从安全模式中启动杀毒软件就可以轻松杀毒了。另外请一定要清理一下你的临时文件夹<建议使用超级兔子清理系统垃圾.更方便>这是因为有很多病毒主程序隐藏在临时文件夹里面,你杀毒的时候不能完全的删除http://www.pctutu.com/news.asp?id=882006-8-10 超级兔子7.76建议你安全模式下使用主流杀毒软件的最新版杀毒祝您好运。没有杀毒软件的化到这里下载有今天最新的瑞星http://www.luckfish.net/rising.htm

⑥ 怎么修改系统用户名

我是在控制面板的管理工具中改的~在本地安全设置里有一个本地策略然后安全选项查看右边最下面一个重命名系统管理员帐号右键属性修改就行了!

⑦ 谁有port95nt win7

windows7 不能连接 xp 共享打印机,不能添加网络打印机的解决方法 1. 进入Devices and printers(设备和打印机) 2. Add a printer(添加打印机)—>选择"add a local printer"(添加本地打印机) 3. Choose a printer port(选择打印机端口) …

⑧ port95nt在win7 64位系统上能安装吗

把系统文件(光盘或者ISO文件)解压到分区的目录下比如下 D:\ 安装NT6,根据当前系统选择1 或 2 安装完成重启电脑。自动进入WIN 7安装介面WIN 8也一样 32位和64位通用

⑨ VC 6.0 为什么没有GetItemCount

m_pListCtrl这是一个指针,你有没有给它初始化,让它指向其它现存的CListCtrl类型的对象或者利用构造函数创建一个指针指向的新对象,如果没有初始化当然不能调用。CListCtrl里定义了这个函数的。