为什么我用CreateFile打开串口失败呢? [问题点数:20分,无满意结帖,结帖人jpae500]

Bbs1
本版专家分:0
结帖率 83.33%
Bbs12
本版专家分:361009
版主
Blank
名人 2013年 荣获名人称号
Blank
探花 2011年 总版技术专家分年内排行榜第三
2010年 总版技术专家分年内排行榜第三
Blank
进士 2012年 总版技术专家分年内排行榜第五
Blank
金牌 2012年1月 总版技术专家分月排行榜第一
Bbs10
本版专家分:137321
Blank
进士 2018年总版新获得的技术专家分排名前十
Blank
银牌 2019年7月 总版技术专家分月排行榜第二
2019年5月 总版技术专家分月排行榜第二
Blank
铜牌 2019年4月 总版技术专家分月排行榜第三
2019年3月 总版技术专家分月排行榜第三
Blank
红花 2019年7月 VC/MFC大版内专家分月排行榜第一
2019年6月 VC/MFC大版内专家分月排行榜第一
2019年5月 VC/MFC大版内专家分月排行榜第一
2019年4月 VC/MFC大版内专家分月排行榜第一
2019年3月 VC/MFC大版内专家分月排行榜第一
2019年1月 VC/MFC大版内专家分月排行榜第一
2018年12月 VC/MFC大版内专家分月排行榜第一
2018年11月 VC/MFC大版内专家分月排行榜第一
2018年10月 VC/MFC大版内专家分月排行榜第一
2018年9月 VC/MFC大版内专家分月排行榜第一
2018年8月 VC/MFC大版内专家分月排行榜第一
2018年5月 VC/MFC大版内专家分月排行榜第一
2018年4月 VC/MFC大版内专家分月排行榜第一
2018年3月 VC/MFC大版内专家分月排行榜第一
2018年2月 VC/MFC大版内专家分月排行榜第一
2018年1月 VC/MFC大版内专家分月排行榜第一
2017年12月 VC/MFC大版内专家分月排行榜第一
2017年11月 VC/MFC大版内专家分月排行榜第一
2017年7月 VC/MFC大版内专家分月排行榜第一
2012年7月 VC/MFC大版内专家分月排行榜第一
Bbs1
本版专家分:0
Bbs1
本版专家分:0
Bbs12
本版专家分:361009
版主
Blank
名人 2013年 荣获名人称号
Blank
探花 2011年 总版技术专家分年内排行榜第三
2010年 总版技术专家分年内排行榜第三
Blank
进士 2012年 总版技术专家分年内排行榜第五
Blank
金牌 2012年1月 总版技术专家分月排行榜第一
Bbs1
本版专家分:0
Bbs1
本版专家分:0
Bbs1
本版专家分:0
Bbs9
本版专家分:87213
Blank
状元 2017年 总版技术专家分年内排行榜第一
Blank
榜眼 2014年 总版技术专家分年内排行榜第二
Blank
探花 2013年 总版技术专家分年内排行榜第三
Blank
进士 2018年总版新获得的技术专家分排名前十
2012年 总版技术专家分年内排行榜第七
Bbs10
本版专家分:171733
Blank
红花 2018年7月 VC/MFC大版内专家分月排行榜第一
2017年10月 VC/MFC大版内专家分月排行榜第一
2016年3月 VC/MFC大版内专家分月排行榜第一
2014年10月 VC/MFC大版内专家分月排行榜第一
2014年9月 VC/MFC大版内专家分月排行榜第一
2014年7月 VC/MFC大版内专家分月排行榜第一
2014年6月 VC/MFC大版内专家分月排行榜第一
2014年5月 VC/MFC大版内专家分月排行榜第一
2014年4月 VC/MFC大版内专家分月排行榜第一
2014年2月 VC/MFC大版内专家分月排行榜第一
2013年7月 VC/MFC大版内专家分月排行榜第一
Blank
黄花 2019年7月 VC/MFC大版内专家分月排行榜第二
2019年6月 VC/MFC大版内专家分月排行榜第二
2019年5月 VC/MFC大版内专家分月排行榜第二
2019年4月 VC/MFC大版内专家分月排行榜第二
2019年3月 VC/MFC大版内专家分月排行榜第二
2018年10月 VC/MFC大版内专家分月排行榜第二
2018年9月 VC/MFC大版内专家分月排行榜第二
2018年8月 VC/MFC大版内专家分月排行榜第二
2018年5月 VC/MFC大版内专家分月排行榜第二
2017年12月 VC/MFC大版内专家分月排行榜第二
2017年6月 VC/MFC大版内专家分月排行榜第二
2017年5月 VC/MFC大版内专家分月排行榜第二
2017年1月 VC/MFC大版内专家分月排行榜第二
2016年11月 VC/MFC大版内专家分月排行榜第二
2016年4月 VC/MFC大版内专家分月排行榜第二
2014年11月 VC/MFC大版内专家分月排行榜第二
2014年1月 VC/MFC大版内专家分月排行榜第二
2013年10月 VC/MFC大版内专家分月排行榜第二
2013年9月 VC/MFC大版内专家分月排行榜第二
2013年6月 VC/MFC大版内专家分月排行榜第二
2013年4月 VC/MFC大版内专家分月排行榜第二
2012年6月 VC/MFC大版内专家分月排行榜第二
Blank
蓝花 2018年11月 VC/MFC大版内专家分月排行榜第三
2018年6月 VC/MFC大版内专家分月排行榜第三
2018年4月 VC/MFC大版内专家分月排行榜第三
2018年3月 VC/MFC大版内专家分月排行榜第三
2018年2月 VC/MFC大版内专家分月排行榜第三
2018年1月 VC/MFC大版内专家分月排行榜第三
2017年11月 VC/MFC大版内专家分月排行榜第三
2017年9月 VC/MFC大版内专家分月排行榜第三
2017年8月 VC/MFC大版内专家分月排行榜第三
2017年4月 VC/MFC大版内专家分月排行榜第三
2016年12月 VC/MFC大版内专家分月排行榜第三
2016年10月 VC/MFC大版内专家分月排行榜第三
2016年2月 VC/MFC大版内专家分月排行榜第三
2015年10月 VC/MFC大版内专家分月排行榜第三
2015年7月 VC/MFC大版内专家分月排行榜第三
2012年10月 VC/MFC大版内专家分月排行榜第三
Bbs1
本版专家分:0
Bbs4
本版专家分:1161
Bbs1
本版专家分:0
Bbs1
本版专家分:0
createfile()打开串口失败,求解答
hCom = CreateFile("COM1", //<em>打开</em><em>串口</em>1rn GENERIC_READ | GENERIC_WRITE, //允许读和写操作rn 0, //独占方式rn NULL,rn OPEN_EXISTING, //<em>打开</em>一个存在的<em>串口</em>rn FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED, //异步方式<em>打开</em>rn NULLrn );rnCreateFile()的返回值为INVALID_HANDLE_VALUE。rn用GetLastError()得到返回值为2,系统找不到指定路径。rnrn这个,要怎么改?rn谢谢大家。
WINCE6,串口打开失败,CreateFile()返回-1
环境 VS2008,WINCE6,WINCE系统里有“COM1”,我用<em>串口</em>调试终端能<em>打开</em>”COM1“并且能发送与接收数据rn为了怕搞错<em>串口</em>名称,我干脆<em>打开</em>COM1-COM5,并且跟踪 m_hComm的值,发现返回的全部是 -1(0xffffffff), 这是我建的一个WINCE测试工程,就在下面这个函数里添加了如下代码,不知为何CreateFile()会返回 -1,请高手指定一二,谢谢rnrnBOOL CWinceUartTestDlg::OnInitDialog()rnrn CDialog::OnInitDialog();rnrn // 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动rn // 执行此操作rn SetIcon(m_hIcon, TRUE); // 设置大图标rn SetIcon(m_hIcon, FALSE); // 设置小图标rnrn // TODO: 在此添加额外的初始化代码rn HANDLE m_hComm=0;rn m_hComm =CreateFile(L"COM0", GENERIC_READ | GENERIC_WRITE,0,0,OPEN_EXISTING,0,0);rn if((int)m_hComm != -1)rn m_hComm =CreateFile(L"COM1", GENERIC_READ | GENERIC_WRITE,0,0,OPEN_EXISTING,0,0);rn if((int)m_hComm != -1)rn m_hComm =CreateFile(L"COM2", GENERIC_READ | GENERIC_WRITE,0,0,OPEN_EXISTING,0,0);rn if((int)m_hComm != -1)rn m_hComm =CreateFile(L"COM3", GENERIC_READ | GENERIC_WRITE,0,0,OPEN_EXISTING,0,0);rn if((int)m_hComm != -1)rn m_hComm =CreateFile(L"COM4", GENERIC_READ | GENERIC_WRITE,0,0,OPEN_EXISTING,0,0);rn if((int)m_hComm != -1)rn m_hComm =CreateFile(L"COM5", GENERIC_READ | GENERIC_WRITE,0,0,OPEN_EXISTING,0,0);rn if((int)m_hComm == -1)rn MessageBox(L"COM0-COM5 Open Error!");rn elsern MessageBox(L"COM0-COM5 Open Succcess!");rnrn return TRUE; // 除非将焦点设置到控件,否则返回 TRUErn
createfile打开失败的问题??
#include rnrn#define _WIN32_WINNT 0x0500rn#include rnrnrnint main(int argc, char *argv[])rnrnrn HANDLE hDirectory = CreateFile("D:\\", GENERIC_ALL, FILE_SHARE_DELETE|FILE_SHARE_READ|FILE_SHARE_WRITE, NULLrn , OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);rn rn if (INVALID_HANDLE_VALUE == hDirectory) [color=#FF0000] //现在是在这里出了鬼,老是无效句柄[/color]rn rn cout << "create file failed!" << endl;rn DWORD dwErr = GetLastError();rn return -1;rn rn rn while (TRUE)rn rn Sleep(1000);rnrn FILE_NOTIFY_INFORMATION stFileNotifyInfo = 0;rn DWORD dwBytesRet = 0;rnrn BOOL bRet = ReadDirectoryChangesW(rn hDirectory,rn &stFileNotifyInfo,rn sizeof (FILE_NOTIFY_INFORMATION),rn TRUE,rn FILE_NOTIFY_CHANGE_FILE_NAME|FILE_NOTIFY_CHANGE_DIR_NAME|FILE_NOTIFY_CHANGE_ATTRIBUTES|FILE_NOTIFY_CHANGE_SIZE|FILE_NOTIFY_CHANGE_LAST_WRITE|FILE_NOTIFY_CHANGE_LAST_ACCESS|FILE_NOTIFY_CHANGE_CREATION|FILE_NOTIFY_CHANGE_SECURITY, rn &dwBytesRet,rn NULL,rn NULLrn );rn rn if (bRet)rn rn cout << "change occour!" << endl;rn rn rnrn CloseHandle(hDirectory);rnrn return 0;rnrnrn我想写个文件监控程序,我首先要用<em>createfile</em><em>打开</em>一个文件,得到handle,然后再ReadDirectoryChangesW,传递这个handle进去,但是我现在<em>createfile</em><em>打开</em>directory死活成功不了,错误号老是3,无法识别路径,出了鬼了,请各位帮忙看看,谢谢了.
使用CreateFile()打开COM10及以上串行口
程序调试时发现,使用CreateFile()<em>打开</em>COM4时正常,<em>打开</em>COM10时却总是<em>失败</em>。这两个端口均为虚拟COM口,通过蓝牙仿真<em>串口</em>完成数据收发,除了命名不同外,本质上并无任何不同。 而MSDN上对使用CreateFile()<em>打开</em>设备函数却<em>失败</em>返回并无详细解释,百思不得其解。上网百度一下找到了相关资料,原来是: Win32 API函数CreateFile()除了可<em>打开</em>普通文件外
C++ 串口编程 错误 ““CreateFileW”: 不能将参数 1 从“const char [5]”转换为“LPCWSTR””
HANDLE hCom;DWORD dwError;hCom = CreateFile("COM1", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING,0, NU
串口之CreateFile 函数详解
HANDLE CreateFile( LPCTSTR lpFileName, //指向文件名的指针 DWORD dwDesiredAccess, //访问模式(写/读) DWORD dwShareMode, //共享模式 LPSECURITY_ATTRIBUTES lpSecurityAttributes, //指向安全属性的指针 DWORD dwCreationDi
用creatfile函数打开串口
windows把<em>串口</em>设备当做文件来对待操作,所以用CreatFile,CloseFile等函数对<em>串口</em>进行操作。 creatfile函数定义如下: HANDLE CreatFile( LPCTSTR lpName,//文件名,此处为<em>串口</em>号 DWORD dwDesireAccess,//访问类型,读(GENERIC_READ)写(GENERIC_WRITE)两者兼有(GENERIC_READ|G
用 CreateFile 方法打开串口,如何关闭。
如题。
请问createfile打开失败
我的操作如下:rnwchar_t fileName[256] = "0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789.txt";rnHANDLE hMedia = CreateFile(fileName, GENERIC_READ, rn FILE_SHARE_READ, NULL, OPEN_EXISTING, rn FILE_ATTRIBUTE_NORMAL, NULL);rnrnDWORD error = GetLastError();rnif (INVALID_HANDLE_VALUE == hMedia)rnrn printf("Open media file failed!\n");rnrnrn这样操作,怎么老是<em>失败</em>,请问怎么回事。谢谢。
CreateFile打开USB设备失败
CString uDisk = "\\\\.\\PhysicalDrive";rnCString csNum = "1";//或"2","3",,,,rnHANDLE hDev = CreateFile(uDisk+csNum, GENERIC_WRITE|GENERIC_READ, rn FILE_SHARE_READ|FILE_SHARE_WRITE,rn NULL, OPEN_EXISTING,0,NULL);rnDWORD dwError = GetLastError();rnrn问题是:我在XR系统里以这样的方式<em>打开</em>U盘没有问题,但在Windows7里<em>打开</em>就出错,错误信息是dwError=ERROR_ACCESS_DENIED。我查过,可能是Windows账号权限不够的原因,请问各位大虾,有没有办法可以解决这个问题?谢谢!rnrn补充说明:我这里的U盘是自己做的,因为只有14Kbyte,所以做成FAT12格式的。
打开串口(createfile)
<em>为什么</em>用<em>createfile</em><em>打开</em><em>串口</em>com1-9没有问题,而<em>打开</em>com10或以上的<em>串口</em>却打不开呢
调用CreateFile失败为什么
我在远程登入了2003系统,并运行一个服务控制管理器的程序"Server.exe"。rn"Server.exe"中创建了一个主线程,主线程创建了一个邮槽服务:rnCreateMailslot("\\\\.\\mailslot\\my_mailslot", 0, MAILSLOT_WAIT_FOREVER, (LPSECURITY_ATTRIBUTES) NULL);rnrn然后主线程中又创建了1个应用程序进程"A.exe"rn在"A.exe"中调用CreateFile<em>打开</em>这个邮槽:rnCreateFile("\\\\*\\mailslot\\my_mailslot", GENERIC_WRITE, FILE_SHARE_READ, (LPSECURITY_ATTRIBUTES) NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, (HANDLE) NULL); rn(1)这样调用的时候局域网和本地貌似都没错,但是如果我是在外网远程登入的时候,请问下这个第一个参数该填什么,底下那个servername该怎么填写,怎么得到。有没有什么API函数可以得到的。rn(2)my_mailslot这个填写绝对路径不行吗?我填写"D:\\Text\\my_mailslot"这样有错?rn(3)还有就是我在主线程结束前,调用PostThreadMessage(pProcInfo.dwThreadId, WM_QUIT, 0, 0)关闭"A.exe"的窗口时候会出现1444的错误报告,这个该怎么解决?rn(备注:pProcInfo.dwThreadId是前面创建"A.exe"进程的时候调用CreateProcessAsUser的最后一个参数)rnrn参考:rn 邮槽名字类型rn--------------------------------------------------------------------------------------------------------------------------rn名字格式 说 明rn--------------------------------------------------------------------------------------------------------------------------rn\\.\mailslot\name 标定同一台机器上的一个本地邮槽rn\\servername\mailslot\name 标定名为servername的一个远程邮槽服务器rn\\domainname\mailslot\name 标定在指定的domain(域)内,使用特定name(名字)的所有邮槽rn\\*\mailslot\name 标定系统主域内,标定特定name(名字)的所有邮槽rn--------------------------------------------------------------------------------------------------------------------------
为什么createfile失败??
HANDLE hFileHandle = ::CreateFile(tcTempFileName,rn GENERIC_WRITE, FILE_SHARE_READ,rn NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);rnrn if (hFileHandle == INVALID_HANDLE_VALUE)rn rn CString str;rn int err = GetLastError(); rn str.Format("创建临时文件<em>失败</em>,%d",err);rn AfxMessageBox(str);rn rn给出的err是3:系统找不到指定的路径。 rnTCHAR tcTempFileName[MAX_PATH]=0;操作之后为 c:\a.datrn我路径都已经设置好了呀,为啥还会创建不成功呢?
用CreateFile打开COM10以上的串口
在VS2005上用CreateFile<em>打开</em><em>串口</em>,代码如下:HANDLE m_hComm=CreateFile(Port,GENERIC_READ|GENERIC_WRITE,0,0,OPEN_EXISTING,0,0); if(m_hComm==INVALID_HANDLE_VALUE ) { AfxMessageBox(_T("无法<em>打开</em>端口!请检查是否已被占用。")); return FALSE; } 其中Port是LPCTSTR类
【Windows API】打开串口号大于9的串口,CreateFile返回失败
近日,从网络上移植如下代码用于枚举计算机有效<em>串口</em>号。 void EnumCom() { CString strCOM; BOOL bResult; HANDLE hCom; int i; DWORD dwError; m_uiCom.RemoveAll(); for (i = 1; i &lt;...
CreateFile 读写串口 最简demo
vc6开发环境下读写<em>串口</em>的例子,用CreateFile方法,初学者入门使用。
CreateFile打开串口很慢
我用这个方法<em>打开</em><em>串口</em>好慢,每次都好像卡在那一样,要3-5秒才能开好,程序如下,有办法加快么,谢谢各位了 BOOL OpenPort(int BaudRate,int DataBits,int Stop
用Createfile 打开串口发生了阻塞!
如题:rnarm9嵌入式开发板,wince4.2;在上面运行自己写的<em>串口</em>调试程序,正常情况下与PC端能够正常通信,但若是没有将开发板与PC端相连而直接运行自己的程序就会发生阻塞卡死的情况,经调试发现程序阻塞在了Createfile处,同样的情况,即使开发板与PC端相连了,若PC端没有<em>打开</em>相应的<em>串口</em>,开发板上的程序还是一样会出现卡死阻塞的情况,我也是由于项目需要,现学的wince,很多地方不懂,希望各位牛人指教rn下列的代码中红色的就是我所说的,在PC端<em>串口</em>没<em>打开</em>始,运行时发生阻塞的地方。rnrn m_hComm = [color=#FF0000]CreateFile[/color](_T("COM1:"), GENERIC_READ | GENERIC_WRITE, rn 0,rn 0, rn OPEN_EXISTING,rn FILE_FLAG_OVERLAPPED,rn 0); rn if(m_hComm == INVALID_HANDLE_VALUE)rn rn AfxMessageBox(_T("无法<em>打开</em>端口或端口已<em>打开</em>!请检查是否已被占用."));rn return FALSE;rn rn rn GetCommState(m_hComm, &dcb); /* 读取<em>串口</em>的DCB */rn dcb.BaudRate = 4800; rn dcb.ByteSize = 8;rn dcb.Parity = NOPARITY;rn dcb.StopBits = ONESTOPBIT; rn dcb.fParity = FALSE; rn dcb.fBinary = TRUE;rn dcb.fOutxCtsFlow = FALSE;rn dcb.fOutxDsrFlow = FALSE;rn dcb.fDtrControl = DTR_CONTROL_DISABLE; rn dcb.fRtsControl = RTS_CONTROL_DISABLE;rn dcb.fOutX = 0;rn dcb.fInX = 0;rn dcb.fTXContinueOnXoff = 0;rn AfxMessageBox(_T("debug 1"));rn if(![color=#FF0000]SetCommState[/color](m_hComm, &dcb)) /* 设置<em>串口</em>的DCB 会产生阻塞!!!*/rn rn AfxMessageBox(_T("无法按当前参数配置端口,请检查参数!"));rn PurgeComm(m_hComm, PURGE_TXCLEAR | PURGE_RXCLEAR); /* 清除收/发缓冲 */rn CloseHandle(m_hComm); m_hComm = INVALID_HANDLE_VALUE;rn return FALSE;rn rnrn GetCommTimeouts(m_hComm, &CommTimeOuts); rn CommTimeOuts.ReadIntervalTimeout = 100; /* 接收字符间最大时间间隔 */rn CommTimeOuts.ReadTotalTimeoutMultiplier = 1; rn CommTimeOuts.ReadTotalTimeoutConstant = 100; /* 读数据总超时常量 */rn CommTimeOuts.WriteTotalTimeoutMultiplier = 50;rn CommTimeOuts.WriteTotalTimeoutConstant = 2000; rn if(!SetCommTimeouts(m_hComm, &CommTimeOuts))rn rn AfxMessageBox(_T("无法设置超时参数!"));rn PurgeComm(m_hComm, PURGE_TXCLEAR | PURGE_RXCLEAR); /* 清除收/发缓冲 */rn CloseHandle(m_hComm); rn m_hComm = INVALID_HANDLE_VALUE;rn return FALSE;rn rnrn SetupComm(m_hComm, 16384, 16384); /* 设置接收与发送的缓冲区大小 */rn rn PurgeComm(m_hComm, PURGE_TXCLEAR | PURGE_RXCLEAR); /* 清除收/发缓冲区 */ rn rn SetCommMask(m_hComm, EV_RXCHAR|EV_TXEMPTY);//设置事件驱动的类型 rnrn CenterWindow(GetDesktopWindow()); // center to the hpc screenrn
用CreateFile打开串口设备,出现问题?
HANDLE hComm = CreateFile( "com10", GENERIC_READ | GENERIC_WRITE, 0, rn NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL /*| FILE_FLAG_OVERLAPPED*/, NULL );rn if ( INVALID_HANDLE_VALUE==hComm )rn rn int err=GetLastError();rn TRACE( "Error in open COM port: %s. %d\n", deviceName,err );rn return FALSE;rn rnrn/////////////rn我的机器上一共有20个<em>串口</em>,通过扩展来.rn用程序<em>打开</em> com1 到 com9 都没有问题,但是 com10 开始就出现错误rnerr=2 ,表示 The system cannot find the file specified. ERROR_FILE_NOT_FOUND rnrn////////////rn奇怪的是我通过 CMsComm 空间就可以访问大于10的<em>串口</em>,rn代码如下:rnvoid CComTestDlg::OnBUTTONOpen() rnrn // TODO: Add your control notification handler code herern tryrn m_comm1.SetCommPort(10);rn m_comm1.SetPortOpen(TRUE);rn MessageBox("Open ok!");rn catch(...)rn MessageBox("ERROR Open Comm");rn rnrnrn///////////////////rn请问,用文件方式如何解决这个问题?rn路过的都帮助顶一下。。。。。。rnrn
为什么流接口驱动CreateFile失败呢?
HANDLE handle=CreateFile(_T("TTT1:"),GENERIC_READ|GENERIC_WRITE,0,rnNULL,OPEN_EXISTING,0,NULL);rnASSERT(handle);rnif (handle == INVALID_HANDLE_VALUE) // cannot open the drivernrn MessageBox(NULL,_T("CreateFile<em>失败</em>"),_T("title"),MB_OK);rnrn这<em>为什么</em>呢?
vb6 用CreateFile打开串口出错!!!!!!!!!!!!
声明rnPrivate Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, lpSecurityAttributes As SECURITY_ATTRIBUTES, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Longrnrn使用rn Dim sa As SECURITY_ATTRIBUTESrn Dim hCF As Longrn hCF = CreateFile("COM4", GENERIC_READ Or GENERIC_WRITE, 0, sa, OPEN_EXISTING, FILE_ATTRIBUTE_READONLY, 0)rn[color=#FF0000]怎么老是返回-1啊?????????[/color]rn Dim errNum As Longrn errNum = GetLastError()rn[color=#FF0000]errNum返回的是0[/color]rnrn到底是什么原因啊!!!!!!!!!!!!!!!哪位大哥知道啊rnrn[color=#339966]Private Declare Function CreateFile Lib "kernel32 " Alias "CreateFileA " (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, ByVal lpSecurityAttributes As Long, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long rnrnComNum = CreateFile( "COM1 ", &HC0000000, 0, 0&, &H3, 0, 0)rn这个也不行[/color]
为什么我的文件总是打开失败呢?
// ex1.7_2.cpp : 定义控制台应用程序的入口点。rn//rnrn#include "stdafx.h"rn#include rn#include rn#include rnrnusing namespace std;rnrnint _tmain(int argc, _TCHAR* argv[])rnrn cout<<<<>user_name;rn while(user_more)rn rn if (!game_datain) //到这里就完了,总是打不开我的D:\\game_datain.txt啊,<em>为什么</em>啊???????rn rn cout<>gamedata_name;rn if (gamedata_name == user_name)rn rn game_datain>>str_tries>>str_right;rn cout<<>user_tryAgain;rn rn elsern rn cout<<>user_tryAgain;rn rn while(user_tryAgain !='Y'&&user_tryAgain !='N'&&user_tryAgain !='y'&&user_tryAgain !='n')rn rn cout<>user_tryAgain;rn rn if(user_tryAgain == 'y'||user_tryAgain=='Y')rn rn user_more = true;rn rn elsern rn user_more = false;rn rn rn user_grade = double(user_right)/user_tries*100;rn /*if(!game_dataout)rn rn cout<<
用CreateFile打开串口超过com10就不能打开
一台机子用moxa的两块8口的<em>串口</em>扩展卡,扩展了16个<em>串口</em>,在硬件管理器里也能看到这16个<em>串口</em>,但是用CreateFile<em>打开</em><em>串口</em>时,com10及以上的<em>串口</em><em>打开</em><em>失败</em>,GetLastError()为 2
用CreateFile 函数打开串口 总是显示串口无法打开
hCom是全局变量 定义是句柄 myCom也是全局变量,类型是LPCTSTR,返回值总是INVALID_HANDLE_VALUE,什么原因啊!苦恼好久了。用<em>串口</em>调试助手COM4 是打得开的。用Get
HID设备,WIN7,WIN8.1都读写正常, Win10怎么就不行了?
Win10能识别到,设备管理器里也能看到, 就是各种USB事件不触发
神奇了!!高手来看看这个CreateFile为什么返回INVALID_HANDLE_VALUE??????
while(TRUE) { memset(pcBufferNs,0,DeFileWaterBuffer); DWORD BytesReturned=0; if( ReadDirectoryChange
我用createfile打开一个串口为什么总是不能打开呢???
comx=CreateFile(s,GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_FLAG_OVERLAPPED,0); rn if(comx==INVALID_HANDLE_VALUE) rn rn ShowMessage("每次<em>打开</em>都是<em>打开</em><em>失败</em>"); rn rn还有函数GetCommState和SetCommState是只有当<em>串口</em>已经<em>打开</em>后才能够用他们设置<em>串口</em>参数的吗???
如何用createfile打开串口
谁能正确用VB写出<em>createfile</em><em>打开</em>com2的声明、及语句;rn我这样做<em>为什么</em><em>打开</em>不了:rnPublic Const GENERIC_READ = &H80000000 rnPublic Const GENERIC_WRITE = &H40000000 rnPublic Const OPEN_EXISTING = 3 rnPublic Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, lpSecurityAttributes As Long, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long
CreateFile打开USB串口败.
我用代码<em>打开</em>一个系统自带的<em>串口</em>没问题,但是我要是<em>打开</em>一个USB的<em>串口</em>就要问题了,CreateFile提示<em>失败</em>.rn[code=C/C++]rn#include "stdafx.h"rn#include rn#include rn#include rn#include rn#include rnusing namespace std;rnrn#define COM_FILE_NUM "COM10" //USB<em>串口</em>名rnrnint _tmain(int argc, _TCHAR* argv[])rnrn HANDLE hCom = CreateFile(COM_FILE_NUM,//<em>串口</em>口名rn GENERIC_READ|GENERIC_WRITE, //允许读和写rn 0, //独占方式rn NULL,rn OPEN_EXISTING, //<em>打开</em>而不是创建rn FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED, //重叠方式rn NULL);rnrn if(hCom == INVALID_HANDLE_VALUE)rn printf("open %s failed ..\n",COM_FILE_NUM); //<em>打开</em><em>串口</em>成功rn getchar();rn return 0;rn elsern printf("open %s success ..\n",COM_FILE_NUM); //<em>打开</em><em>串口</em>成功rn rn rnrn if(hCom !=NULL)rn CloseHandle(hCom);rn rn getchar();rn return 0;rnrn[/code]rnrn错误提示:找不到COM10这个设备文件.rnrn但是没道理啊我用其他<em>串口</em>工具可以<em>打开</em>COM10的,所以保证COM10是存在并可以用的。 rnrn
关于CreateFile()打开串口的问题
我用CreateFile函数<em>打开</em><em>串口</em>时只能<em>打开</em>(Com1-Com9)Com10以上的<em>串口</em>就打不开了rnrn请问如何解决?
关于打开串口的CreateFile方法
小弟正在研究<em>串口</em>编程,有个问题想问一下大家。rnCreateFile(PortName,//<em>串口</em>号rn GENERIC_READ | GENERIC_WRITE,//允许读和写rn 0,//独占方式rn NULL,//<em>串口</em>此值设置为 NULLrn OPEN_EXISTING,//<em>打开</em>而不是创建rn FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED, //文件属性rn NULLrn );rn我查资料这个文件属性都是写为FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED,但是我们的程序里rnCreateFile(PortName,//<em>串口</em>号rn GENERIC_READ | GENERIC_WRITE,//允许读和写rn 0,//独占方式rn NULL,//<em>串口</em>此值设置为 NULLrn OPEN_EXISTING,//<em>打开</em>而不是创建rn 0, //文件属性rn NULLrn );rnrnrn文件属性的值为0,而且可以正常运行,但查资料没有查到这个设置为0有什么用啊,他和设置成FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED,有什么区别吗
WINDOWS HANDLE null INVALID_HANDLE_VALUE
输出: 1 not null 2 not null 因此CloseHandle后不能用 if ( handle ) void handle_null_test() {        HANDLE hevent = CreateEvent(NULL, FALSE, FALSE, L"xx");
INVALID_HANDLE_VALUE 与 NULL
[cpp] view plaincopy#include &quot;stdafx.h&quot;  #include &amp;lt;Windows.h&amp;gt;  #include &amp;lt;iostream&amp;gt;      using namespace std;      int _tmain(int argc, _TCHAR* argv[])  {      HANDLE m_hCom = CreateFile(_T...
win10下VS2010中调用CreateFileMapping失败,请教一下问题出在哪里?谢谢
-
虚拟串口vspd8.0.412(含注册码)下载
虚拟<em>串口</em>vspd8.0.412(含注册码)XP,WIN7,WIN10可用, 相关下载链接://download.csdn.net/download/johnsonxjq/10789971?utm_so
CreateFile在串口中的运用
在32位的windows系统中,<em>串口</em>和其他通信设备是作为文件处理的。对<em>串口</em>的操作和对文件的操作是完全一样的。通信以调用CreateFile()开始。      函数原型如下: HANDLE CreateFile(   LPCTSTR lpFileName, //指向文件名的指针   DWORD dwDesiredAccess, //访问模式(写/读)
使用 CreateFile 打开串口问题?
我的电脑自带一个<em>串口</em>,安装一块多<em>串口</em>卡(32口)rn使用API:rnhandle =CreateFile(com_name,GENERIC_READ|GENERIC_WRITE,0,0,OPEN_EXISTING,FILE_FLAG_OVERLAPPED, 0)rnrn只能<em>打开</em>COM1~COM9,COM10以上无法<em>打开</em>,rnrn使用PDQComm控件能<em>打开</em>所有端口rnrn<em>为什么</em>?rnrn如何突破限制?rnrnrn
CreateFile打开USB端口失败
CreateFile函数<em>打开</em>USB端口<em>失败</em>,GetLastError 返回错误为 32,表示端口被其它进程<em>打开</em>,但任务管理器没发现多余的软件rn同个软件在其它几台电脑上用是没问题的,CreateFile都是可以<em>打开</em>端口并收发数据,但有一台手提电脑上切总提示以上错误rn如果把CreateFile改为共享的方式<em>打开</em>端口是可以的,但是读写数据是不行的,rn请问这是什么原因呢,是系统的什么设置吗?rn谢谢
为什么fopen打开失败呢?
bool Creat_Text(const char* str, const char* filename)nn char path[1024] = 0;n GetCurrentDirectory(1024, (LPWSTR)path);n strcat(path,"//");n strcat(path,filename);nn FILE* fp = fopen(path,"a+");n if (NULL == fp)n n return false;n nn fputs(str,fp);nn fclose(fp);n return true;n_
为什么我用_mkdir和CreateFile时总是失败
_mkdirrnCreateFilern哎,我从来没有创建成功过,<em>为什么</em>呢?rnrn
串口操作之API篇 CreateFile
CreateFilehttp://bbs.fishc.com/thread-72944-1-1.html(出处: 鱼C论坛)------------------------------------------------------------------------CreateFile用于<em>打开</em><em>串口</em>,如果操作成功,返回一个句柄.1 function CreateFile(lpFileName: P...
----用CreateFile来操作串口?----
请问怎么样用CreateFile来操作<em>串口</em>,顺便说说GetCommState, SetCommState, TransmitCommChar, WaitCommEvent,等等 的用法,有例程给100
CreateFile用法和例子
CreateFile用法和例子 函数原型:          HANDLECreateFile( LPCTSTR lpFileName, //指向文件名的指针 DWORD dwDesiredAccess, //访问模式(写/读) DWORD dwShareMode, //共享模式 LPSECURITY_ATTRIBUTESlpSecurityAttributes, //指向安全属性的指
CreateFile 串口打不开,如下代码.....提示 打开COM失败
CreateFile <em>串口</em>打不开,如下代码..... hCom=CreateFile("COM15", // 文件名 GENERIC_READ | GENERIC_WRITE, // 允许读和写 0,
MFC 用CreateFile读取串口(单片机)会崩溃
第一次来,格式不好体谅一下。 读取计算机上不存在的<em>串口</em>不会出错,只会显示<em>串口</em><em>打开</em><em>失败</em>,如果是COM1和COM4计算机上显示的<em>串口</em>,程序就会直接崩溃,<em>串口</em><em>打开</em><em>失败</em>都不会显示。 求助。。。下面是报错 hC
我用CreateFile方式进行串口操作,为什么串口号为10以上就没法创建呢?
我机器的<em>串口</em>号已经设置为11,创建时总是返回INVALID_HANDLE_VALUE,这是<em>为什么</em>?有什么解决办法吗?
CreateFile打开串口失败 GetLastError()返回值为2
编译环境为C++ builder 2009rn代码如下:rnBOOL CSerial::Open( int nPort, int nBaud )rnrn if( m_bOpened ) return( TRUE );rnrn char szPort[15];rn char szComParams[50];rn DCB dcb;rnrn if(nPort > 9)rn wsprintf( (wchar_t *)szPort, (wchar_t *)"\\\\.\\COM%d", nPort );rn elsern wsprintf( (wchar_t *)szPort,(wchar_t *) "COM%d", nPort );rn [color=#FF6600]m_hIDComDev = CreateFile( (wchar_t *)szPort, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED, NULL );[/color]rn if( m_hIDComDev == NULL ) return( FALSE );rnrn memset( &m_OverlappedRead, 0, sizeof( OVERLAPPED ) );rn memset( &m_OverlappedWrite, 0, sizeof( OVERLAPPED ) );rnrn COMMTIMEOUTS CommTimeOuts;rn CommTimeOuts.ReadIntervalTimeout = 0xFFFFFFFF;rn CommTimeOuts.ReadTotalTimeoutMultiplier = 0;rn CommTimeOuts.ReadTotalTimeoutConstant = 0;rn CommTimeOuts.WriteTotalTimeoutMultiplier = 0;rn CommTimeOuts.WriteTotalTimeoutConstant = 5000;rn SetCommTimeouts( m_hIDComDev, &CommTimeOuts );rnrn sprintf( szComParams, "COM%d:%d,n,8,1", nPort, nBaud );rnrn m_OverlappedRead.hEvent = CreateEvent( NULL, TRUE, FALSE, NULL );rn m_OverlappedWrite.hEvent = CreateEvent( NULL, TRUE, FALSE, NULL );rnrn dcb.DCBlength = sizeof( DCB );rn GetCommState( m_hIDComDev, &dcb );rn dcb.BaudRate = nBaud;rn dcb.ByteSize = 8;rn dcb.fRtsControl = RTS_CONTROL_DISABLE; //RTS_CONTROL_ENABLE; // set RTS bit high!rn unsigned char ucSet;rn ucSet = (unsigned char) ( ( FC_RTSCTS & FC_DTRDSR ) != 0 );rn ucSet = (unsigned char) ( ( FC_RTSCTS & FC_RTSCTS ) != 0 );rn ucSet = (unsigned char) ( ( FC_RTSCTS & FC_XONXOFF ) != 0 );rn if( !SetCommState( m_hIDComDev, &dcb ) ||rn !SetupComm( m_hIDComDev, 10000, 10000 ) ||rn m_OverlappedRead.hEvent == NULL ||rn m_OverlappedWrite.hEvent == NULL )rn DWORD dwError = GetLastError();rn if( m_OverlappedRead.hEvent != NULL ) CloseHandle( m_OverlappedRead.hEvent );rn if( m_OverlappedWrite.hEvent != NULL ) CloseHandle( m_OverlappedWrite.hEvent );rn CloseHandle( m_hIDComDev );rn return( FALSE );rn rnrn m_bOpened = TRUE;rnrn return( m_bOpened );rnrnrnrnrn想<em>打开</em><em>串口</em> 使用命令AtCom.open(1,115200) 逐步调试的时候发现CreateFile<em>失败</em> 用GetLastError 显示错误代码为2rn请教如何修改? 谢谢好心人
usb转串口后,用createfile打开 显示失败,想不通为什么
笔记本儿上没有<em>串口</em>,用了usb转<em>串口</em>工具,在超级终端上测试时可以的,但是在vc++ 6.0中用<em>createfile</em> <em>打开</em>是<em>失败</em>的(转<em>串口</em>后设置为com4)。求救----------------
CreateFile为什么就是打不开我的驱动呢?
在应用里: hFile = CreateFile(TEXT("KEY1:"), rn GENERIC_READ | GENERIC_WRITE, 0, rn NULL, rn OPEN_EXISTING, 0, 0);rnrnrn驱动里:rnDWORD KEY_Open(DWORD dwData, DWORD dwAccess, DWORD dwShareMode)rnrn if (gOpenCount > 0)rn return 0; rn gOpenCount = 1; rn return gOpenCount;rn rn我搞了好久,都<em>打开</em>驱动<em>失败</em>,hFile == INVALID_HANDLE_VALUE,CE里注册表Drivers\BuiltIn\显示了我的驱动prefix=KEY,index:1驱动应该是加载了,<em>为什么</em>就是打不开呢,rn各位能教教我还有什么地方会出错呢?
为什么我无法打开串口???
rn hComm = CreateFile(_T("COM1"),rn GENERIC_READ | GENERIC_WRITE,rn 0,rn NULL,rn OPEN_EXISTING,rn FILE_FLAG_OVERLAPPED,rn NULL );
【急】vs2005 串口 createFile 函数创建失败???
hCom=CreateFile(_T("COM1"),rn GENERIC_READ|GENERIC_WRITE,rn 0,rn NULL,rn OPEN_EXISTING,rn FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED,rn NULL);rnrnrn怎么改???rn用的是UNICODE
为什么我的项目打开失败????
程序运行过程中死机了,只好重启。重启后加载项目时<em>失败</em>,项目文件没有<em>打开</em>,这是怎么回事。是不是项目文件损坏了,我该如何修复呢,总不至于让我重新写吧。55555555555
串口打开失败
我的程序中使用了一个打印机,这个打印机是USB口的,我将打印机的USB口转为了<em>串口</em>(计算机中显示为COM5),然后在对打印机进行操作,但是当程序运行到serialport.Open()的时候就会报“给定的端口名称未以COM/com 开头或未解析为有效的串行端口”的错误,我查看了注册表和设备管理器,显示都是COM5,serialport的设置如下,应该没什么问题的,找了半天不知道什么原因,求解啊!!!!!!!!!rn打印机驱动和USB转<em>串口</em>的驱动我都重新装过了,也还是不行,而且,我直接打印的话却是可以打印的,实在是搞不明白<em>为什么</em>,请高手指点下啊!!!!!!rn//设置<em>串口</em>的端口号rnserialPort.PortName = "COM5";rn//设置波特率rnserialPort.BaudRate = 921600;rn//设置停止位rnserialPort.StopBits = StopBits.One;rn//设置校验位rnserialPort.Parity = Parity.None;rn//设置数据位rnserialPort.DataBits = 8;
串口打开失败 VS2010
在网上下载了一个CSerialPort类,然后用VS2010创建了一个基于MFC的工程,发现<em>打开</em><em>串口</em>就是不灵,用GetLastError()返回是2,但是用<em>串口</em>调试工具试是好的......工程属性选择了Unicode,麻烦诸位大神帮忙看看怎么回事rn这个是调用部分rn[code=c]void CSerialPortDemoDlg::OnBnClickedButton1()rnrn // TODO: Add your control notification handler code herern bool bStauts;rn TCHAR str[256] = ;rn int i = m_cmbCom.GetCurSel() + 1;rnrn bStauts = CSPort.InitPort(this,i,19200,'N',8,1,9,512,1000,1000,1000,1000,1000);rn if (bStauts)rn rn MessageBoxW(str,_T("端口正确"));rn rn elsern rn MessageBoxW(str,_T("端口错误"));rn [/code]rn这个是InitPort的部分rn[code=c]sprintf(szBaud, "baud=%d parity=%c data=%d stop=%d", baud, parity, databits, mystop);rnrn // get a handle to the portrn m_hComm = CreateFile((LPCWSTR)szPort, // communication port string (COMX)rn GENERIC_READ | GENERIC_WRITE, // read/write typesrn 0, // comm devices must be opened with exclusive accessrn NULL, // no security attributesrn OPEN_EXISTING, // comm devices must use OPEN_EXISTINGrn FILE_FLAG_OVERLAPPED, // Async I/Orn 0); // template must be 0 for comm devicesrnrn if (m_hComm == INVALID_HANDLE_VALUE)rn rn INT err = GetLastError();rn // port not foundrn delete [] szPort;rn delete [] szBaud;rnrn return FALSE;rn [/code]
打开串口失败!!!!
我用STC单片机的ISP下载时发现下面的问题,真不知道怎么回事!!!前几天用的时候还可以 rn今天我却突然发现不能用了rnrnChinese:正在尝试与 MCU/单片机 握手连接 ... rn<em>打开</em><em>串口</em><em>失败</em>!rnChinese:<em>串口</em>已被其它程序<em>打开</em>或该<em>串口</em>不存在。rn
打开串口失败
m_hComm = CreateFile(szPort, // communication port string (COMX)rn GENERIC_READ | GENERIC_WRITE, // read/write typesrn 0, // comm devices must be opened with exclusive accessrn NULL, // no security attributesrn OPEN_EXISTING, // comm devices must use OPEN_EXISTINFILE_FLAG_OVERLAPPED // Async I/Orn 0); // template must be 0 for comm devicesrnrnrn我第一次<em>打开</em>时没问题,第二次<em>打开</em>时出现无效句柄。是否需要关闭句柄rn
打开串口失败
<em>打开</em><em>串口</em><em>失败</em>(分情况)。rn//wsprintf( szPort, "COM%d", nPort ); // OLDrnwsprintf( szPort, "\\\\.\\COM%d", nPort ); // 2009.2.24rn// m_hIDComDev = CreateFile( szPort, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED, NULL );rn m_hIDComDev = CreateFile( szPort,rn GENERIC_READ | GENERIC_WRITE, rn 0, rn NULL, rn OPEN_EXISTING,0, NULL);rnrn if( m_hIDComDev == INVALID_HANDLE_VALUE) rn rn DWORD dwErr = GetLastError();rn return( FALSE );rn rnrnrn在用普通的<em>串口</em>时,<em>打开</em>时正常的。rn但在使用 USB转<em>串口</em> 时,<em>打开</em>时总是<em>失败</em>,返回错误码rn5, Access is denied. ERROR_ACCESS_DENIED rnrn大伙知道是什么问题么.rn着急啊rnrn
为什么CreateFile无法打开设备
[code=C/C++]rnvoid Cdriver_TestDlg::OnBnClickedButton4()rn rn HANDLE handle = ::CreateFile("\\\\.\\MyDeviceName",GENERIC_READ | GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);rn if(handle == INVALID_HANDLE_VALUE)rn MessageBox("<em>打开</em>设备出错");rn CloseHandle(handle);rn rn[/code]rn一直提示<em>打开</em>设备出错.....请大大们帮我看下哪里写错了...rn驱动文件完整代码:rn[code=C/C++]rn#include rn#define NTSTRSAFE_LIBrn#include rnrn#define COM_DRIVER_NAME L"\\Device\\Serial0" //要绑定的设备名rn//延时用的rn#define DELAY_ONE_MICROSECOND (-10)rn#define DELAY_ONE_MILLISECOND (DELAY_ONE_MICROSECOND*1000)rn#define DELAY_ONE_SECOND (DELAY_ONE_MILLISECOND*1000)rnrnPDEVICE_OBJECT s_fltobj=NULL; //全局指针rnPDEVICE_OBJECT s_nextobj=NULL; //全局指针rnPDEVICE_OBJECT pCommunicate=NULL; //全局指针rnUNICODE_STRING devicename; //定义一个字符串rnUNICODE_STRING symboliclinkname; //定义一个字符串rnvoid ccpUnload(PDRIVER_OBJECT drv); //动态卸载函数rnNTSTATUS ccpAttachAllComs(PDRIVER_OBJECT driver); //绑定设备函数rnNTSTATUS ccpDispatch(PDEVICE_OBJECT device,PIRP irp); //自定义IRP分发函数rnNTSTATUS fengReadComplete(PDEVICE_OBJECT DeviectObject,PIRP Irp,PVOID Context); //IRP_MJ_READ回调函数rnNTSTATUS CreateDevices(PDRIVER_OBJECT DriverObject,PUNICODE_STRING RegistryPath); //创建设备用于同ring3应用程序通信rnrnNTSTATUS DriverEntry(PDRIVER_OBJECT driver, PUNICODE_STRING reg_path) //所有的驱动都是这个入口函数跟c语言的main函数一样rn rn NTSTATUS status; //定义返回状态数据类型rn size_t i;rn status = CreateDevices(driver,reg_path);rn if (status==STATUS_SUCCESS)rn rn for(i=0;iMajorFunction[i] = ccpDispatch; //所有的分发函数都进入ccpDispatch这个函数里面去rn rn driver->DriverUnload = ccpUnload; //支持动态卸载(=号后面是卸载函数)rn ccpAttachAllComs(driver); //绑定设备rn rn return STATUS_SUCCESS; //返回成功(STATUS_SUCCESS=成功的意思)rn rnNTSTATUS CreateDevices(PDRIVER_OBJECT DriverObject,PUNICODE_STRING RegistryPath)rn //创建设备用于同ring3应用程序通信rn NTSTATUS status;rn RtlInitUnicodeString(&devicename,L"\\Device\\MyDevice"); //初始化设备名称rn RtlInitUnicodeString(&symboliclinkname,L"\\??\\MyDeviceName"); //初始化符号连接名称rn status = IoCreateDevice(DriverObject,0,&devicename,FILE_DEVICE_UNKNOWN,0,FALSE,&pCommunicate); //生成设备rn if (status != STATUS_SUCCESS) //如果没有生成设备成功就返回rn return status;rn IoCreateSymbolicLink(&symboliclinkname,&devicename);//符号链接名称//设备名称rn pCommunicate->Flags |= DO_BUFFERED_IO;rn return status;rn rnvoid ccpUnload(PDRIVER_OBJECT drv) //动态卸载函数rn rn LARGE_INTEGER interval;rn UNICODE_STRING uniNtNameString; //定义一个字符串rn RtlInitUnicodeString(&uniNtNameString, COM_DRIVER_NAME); // 初始化一个字符串(就是COM驱动的名字)rn IoDetachDevice(s_nextobj); // 首先解除绑定rn interval.QuadPart = (2*1000 * DELAY_ONE_MILLISECOND); // 睡眠时间(2秒)rn KeDelayExecutionThread(KernelMode,FALSE,&interval); //等待所有irp处理结束rn IoDeleteDevice(s_fltobj); // 删除设备rn IoDeleteDevice(pCommunicate); // 删除设备rn rnNTSTATUS ccpAttachAllComs(PDRIVER_OBJECT driver) //绑定设备函数rn rn NTSTATUS status; //定义返回状态数据类型rn PFILE_OBJECT fileobj = NULL; //定义一个设备的文件对象指针rn PDEVICE_OBJECT devobj = NULL; //定义一个设备对象指针rn UNICODE_STRING uniNtNameString; //定义一个字符串rn RtlInitUnicodeString(&uniNtNameString, COM_DRIVER_NAME); // 初始化一个字符串(就是COM驱动的名字)rnrn status=IoGetDeviceObjectPointer(&uniNtNameString, FILE_ALL_ACCESS, &fileobj, &devobj); //根据设备名字获取设备对象rn if(status == STATUS_SUCCESS) //如果获取设备对象成功rn ObDereferenceObject(fileobj); //就取消设备的文件对象引用(因为过滤<em>串口</em>不需要文件对象)rn status = IoCreateDevice(driver,0,NULL,devobj->DeviceType,0,FALSE,&s_fltobj); //生成设备rn if (status != STATUS_SUCCESS) //如果没有生成设备就返回rn return status;rn // 拷贝重要标志位。rn if(devobj->Flags & DO_BUFFERED_IO)rn (s_fltobj)->Flags |= DO_BUFFERED_IO;rn if(devobj->Flags & DO_DIRECT_IO)rn (s_fltobj)->Flags |= DO_DIRECT_IO;rn if(devobj->Flags & DO_BUFFERED_IO)rn (s_fltobj)->Flags |= DO_BUFFERED_IO;rn if(devobj->Characteristics & FILE_DEVICE_SECURE_OPEN)rn (s_fltobj)->Characteristics |= FILE_DEVICE_SECURE_OPEN;rn (s_fltobj)->Flags |= DO_POWER_PAGABLE;rn s_nextobj = IoAttachDeviceToDeviceStack(s_fltobj,devobj); //绑定一个设备到另一个设备上rn if (s_nextobj == NULL)rn rn // 如果绑定<em>失败</em>了,销毁设备,重新来过。rn IoDeleteDevice(s_fltobj);rn s_fltobj = NULL;rn return STATUS_UNSUCCESSFUL;rn rn (s_fltobj)->Flags = (s_fltobj)->Flags & ~DO_DEVICE_INITIALIZING; //设置这个设备已经启动rn return STATUS_SUCCESS;rn rnNTSTATUS ccpDispatch(PDEVICE_OBJECT device,PIRP irp) //自定义IRP分发函数rn rn PIO_STACK_LOCATION irpsp = IoGetCurrentIrpStackLocation(irp); //获取当前栈空间rn NTSTATUS status;rn ULONG i;rn if(s_fltobj== device)rn rn if(irpsp->MajorFunction == IRP_MJ_POWER)rn rn //如果是电源直接发送,然后返回说已经被处理了rn PoStartNextPowerIrp(irp);rn IoSkipCurrentIrpStackLocation(irp);rn return PoCallDriver(s_nextobj,irp);rn rn if(irpsp->MajorFunction == IRP_MJ_WRITE)rn rn ULONG len = irpsp->Parameters.Write.Length; //获取写入数据的长度rn PUCHAR buf = (PUCHAR)irp->AssociatedIrp.SystemBuffer; //取得系统缓冲区数据rn for(i=0;iMajorFunction == IRP_MJ_READ)rn rn //因为读的是需要完成后才能得到,所以用回调函数来获取rn IoCopyCurrentIrpStackLocationToNext(irp);rn IoSetCompletionRoutine(irp, fengReadComplete, device, TRUE, TRUE, TRUE);rn return IoCallDriver(s_nextobj,irp);rn rn //其它请求直接下发(不禁止也不修改)rn IoSkipCurrentIrpStackLocation(irp);rn return IoCallDriver(s_nextobj,irp);rn rn // 如果根本就不在被绑定的设备中,那是有问题的,直接返回参数错误。rn irp->IoStatus.Information = 0;rn irp->IoStatus.Status = STATUS_INVALID_PARAMETER;rn IoCompleteRequest(irp,IO_NO_INCREMENT);rn return STATUS_SUCCESS; rn rnrnNTSTATUS fengReadComplete(PDEVICE_OBJECT DeviectObject,PIRP Irp,PVOID Context) //IRP_MJ_READ回调函数rn rn PIO_STACK_LOCATION IrpSp;rn ULONG i;rn IrpSp = IoGetCurrentIrpStackLocation(Irp);rn if(NT_SUCCESS( Irp->IoStatus.Status)) //读成功才处理rn rn PUCHAR buf = (PUCHAR)Irp->AssociatedIrp.SystemBuffer; //取得系统缓冲区数据rn for(i=0; iIoStatus.Information; i++)rn rn DbgPrint("%02X, ", buf[i]);rn rn rn if( Irp->PendingReturned)rn IoMarkIrpPending( Irp);rn return Irp->IoStatus.Status;rn rn[/code]
用API函数打开串口失败的问题
因为用MSCOMM控件处理效率过低,改用API函数来处理<em>串口</em>通信,rnrn下面是<em>打开</em><em>串口</em>的前部分代码?rnrnDim lResult As LongrnDim lHandle As LongrnDim DCB_COMM As DCBrnDim cDCBConfig As StringrnDim lpSecurityAttributes As SECURITY_ATTRIBUTESrnrnWith lpSecurityAttributesrn .nLength = 1rn .bInheritHandle = Falsern .lpSecurityDescriptor = 0rnEnd WithrnrnlHandle = CreateFile(cPort, GENERIC_READ Or GENERIC_WRITE, 0&, lpSecurityAttributes, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0&)rnrnDebug.Print lHandlernrnIf lHandle = -1 Then '<em>打开</em><em>串口</em><em>失败</em>rn OpenThePort = Falsern MsgBox "<em>串口</em>可能正被其他应用程序占用!"rn lResult = CloseHandle(lHandle) '先关闭<em>串口</em>后再<em>打开</em>rn If lResult = 0 Thenrn OpenThePort = Falsern Exit Functionrn End Ifrn Exit FunctionrnEnd Ifrnrn<em>为什么</em><em>打开</em><em>串口</em>总是<em>失败</em>? rnrn谢谢,rn可以给一个VB<em>打开</em><em>串口</em>通信的例子么?
为什么CreateFile打开驱动第一次成功第二次失败
在ring3,利用CreateFile<em>打开</em>驱动rnm_hDevice = CreateFile (_T("\\\\.\\UHFControl"), 0, 0, NULL, OPEN_ALWAYS, FILE_FLAG_OVERLAPPED, NULL);rn在ring0,创建设备rnrn status = IoCreateDevice (DriverObject,rn sizeof (CControlDeviceExtension*),rn &m_NameString, // No Namern m_DriverType,rn FILE_DEVICE_SECURE_OPEN,rn FALSE,rn &m_Self);rn这是一个usb hub过滤驱动,进行USB设备的重定向,结果对第一个设备进行重定向可以成功,第二个就偶尔会<em>失败</em>。通过getlasterror获得的错误代码是2,系统找不到指定的文件rn求指点,<em>为什么</em>啊?
请教调用CreateFile打开分区失败的原因。
我在vs2008中编译一个测试代码,<em>打开</em>一个分区,没有问题!rnrn测试通过后,我在vs2008里建立了一个QT工程,然后把测试代码嵌入里面,希望可以在图形界面中选择需要<em>打开</em>的分区,编译通过,但死活都是<em>打开</em>分区<em>失败</em>!rnrn<em>打开</em>分区的代码如下:rn_TCHAR volumePath[7];rn_sntprintf(volumePath, 6, _T("\\\\.\\%c:"), volume);rnvolumePath[6] = _T('\0');rnhVolume = CreateFile((LPCTSTR )volumePath, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE,rn NULL, OPEN_EXISTING, FILE_ATTRIBUTE_READONLY, NULL);rnrnrn查找返回的错误代码显示的错误是:rn刚开始的错误码是2:意思是找不到<em>打开</em>的文件rn换了好几个分区来<em>打开</em>时变成了这个错误:@err,hr 0x0000007b 文件名、目录名或卷标语法不正确。 unsigned longrnvolumePath的值显示是:\\.\\C:rn_TCHAR的大小是1rn不知道qt对这种反斜杠的文件名:\\.\\C: 有没有敏感,以致打不开分区。rnrn望知道错误的大侠指点
十万火急,请问为什么我用CreateFile打开串口做多只能到COM9,超过COM10就出错?
请问高手,<em>为什么</em>我用CreateFile<em>打开</em><em>串口</em>做多只能到COM9,超过COM10就出错?
如何用CreateFile打开串口COM10---COM255
用CreateFile<em>打开</em><em>串口</em>COM1-COM9没有问题,却无法<em>打开</em>COM10及以后的<em>串口</em>,请问如何解决?我实在不想用MsComm
关于CreateFile打开调制解调器串口的问题。
win2000下安装一软猫,系统分配port是COM13,用CreateFile无法成功<em>打开</em>。rnrn//-------代码如下,<em>打开</em>COM1, COM2都是可以成功的,不知和软猫有没有关系rn//-------或者CreateFile<em>打开</em><em>串口</em>只能是COM1到COM9???可有人能告诉我??rnrn hCom = CreateFile( buf,rn GENERIC_READ | GENERIC_WRITE,rn 0, // comm devices must be opened w/exclusive-accessrn NULL, // no security attributesrn OPEN_EXISTING, // comm devices must use OPEN_EXISTINGrn 0, // not overlapped I/Orn NULL // hTemplate must be NULL for comm devicesrn );rn if(INVALID_HANDLE_VALUE == hCom) rn WriteDebug(ERROR_LEVEL,"OpenComPort","Failed to open %s!\n",buf);rn return NULL;
用CreateFile打开串口时,为什么总是成功,即使串口不存在?
用CreateFile<em>打开</em><em>串口</em>时,<em>为什么</em>总是成功,即使<em>串口</em>不存在?谢谢
用CreateFile打开过滤驱动失败,这是怎么回事?
做了一个U盘过滤驱动,需要用DeviceIoControl和过滤驱动通信,在MFC exe程序中可以使用CreateFile<em>打开</em>并使用DeviceIoControl与过滤驱动通信。rnrn 但是在一个dll中却无法使用CreateFile<em>打开</em>驱动,我用GetLastError和FormatMessage跟踪,没有报错,说是操作成功完成,估计是权限不够吧。rnrnrn 但是过滤驱动的DriverEntry函数中,已经加了降低权限的代码,不知道<em>为什么</em>还是打不开?向大家请教rnrn#define USBFILTER_SYSDEVICE_NAME L"\\Device\\HTUsbFilter"rn#define USBFILTER_DOSDEVICE_NAME L"\\DosDevices\\HTUsbFilter"rnrn#pragma INITCODE rnextern "C" NTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverObject,rn IN PUNICODE_STRING RegistryPath)rnrn 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 rn MyDriverObject = DriverObject;rn // create control device objectrn RtlInitUnicodeString(&DeviceName, USBFILTER_SYSDEVICE_NAME);rn NtStatus = IoCreateDevice(DriverObject, rn 0, rn &DeviceName,rn FILE_DEVICE_DISK, rn 0,rn FALSE,rn &MyControlDeviceObject);rn if (!NT_SUCCESS(NtStatus))rn rn KdPrint((DRIVERNAME " - IoCreateDevice failed - %X\n", NtStatus));rn return NtStatus;rn rn rn NtStatus = ObOpenObjectByPointer(MyControlDeviceObject,rn 0,rn NULL,rn FILE_ALL_ACCESS,rn NULL,KernelMode,rn &CtlDevHandle);rn if(!NT_SUCCESS(NtStatus)) rn rn rn return NtStatus;rn rn ObDereferenceObject(MyControlDeviceObject);rn SecurityDescriptor = (PSECURITY_DESCRIPTOR)ExAllocatePool(NonPagedPool,sizeof(SECURITY_DESCRIPTOR));rn NtStatus = RtlCreateSecurityDescriptor(SecurityDescriptor,SECURITY_DESCRIPTOR_REVISION);rn if(!NT_SUCCESS(NtStatus)) rn rn KdPrint((DRIVERNAME " - Entering DriverEntry: DriverObject %8.8lX\n", DriverObject));rn return NtStatus;rn rn NtStatus = NtSetSecurityObject(CtlDevHandle,DACL_SECURITY_INFORMATION,SecurityDescriptor);rn if(!NT_SUCCESS(NtStatus)) rn rn return NtStatus;rn rn ZwClose(CtlDevHandle);rnrn // create symbol Linkrn RtlInitUnicodeString(&SymLinkName, USBFILTER_DOSDEVICE_NAME);rn NtStatus = IoCreateSymbolicLink(&SymLinkName, &DeviceName);rn if (!NT_SUCCESS(NtStatus)) rn rn KdPrint((DRIVERNAME " - IoCreateSymbolicLink failed - %X\n", NtStatus));rn IoDeleteDevice(MyControlDeviceObject);rn return NtStatus;rn rn 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 rn return STATUS_SUCCESS;rn // DriverEntryrnrnrndll中的相关代码:rn rnBOOL SendKeyUsernameToUsbfilter(char* Username,int len)rnrn BOOL bStatus;rn DWORD dwRet;rn int buflen = len;rn char keyUsername[64] = 0;rn HANDLE hHTUSBFILTERDevice = INVALID_HANDLE_VALUE;//scottrn rn memcpy(keyUsername,Username,len);rnrn //add notification to USBFILTERrn hHTUSBFILTERDevice = CreateFile(HTUSBFILTER_NAME,rn GENERIC_READ | GENERIC_WRITE,rn FILE_SHARE_READ | FILE_SHARE_WRITE,rn NULL,rn OPEN_EXISTING,rn 0,rn NULL);rn rn if(hHTIPSECDevice != INVALID_HANDLE_VALUE) rn rn bStatus = DeviceIoControl(hHTUSBFILTERDevice,rn IOCTL_USBFILTER_GET_USERNAME,rn keyUsername, rn buflen, rn NULL, rn 0,rn &dwRet, rn NULL);rn CloseHandle( hHTUSBFILTERDevice );rn if (!bStatus)rn rn MessageBox(NULL,"通知U盘过滤驱动<em>失败</em>-DeviceIoControl!","SendKeyUsernameToUsbfilter",0);rn rn MessageBox(NULL,"通知U盘过滤驱动成功!","SendKeyUsernameToUsbfilter",0);rn rn elsern rn// DWORD nErrorNo = GetLastError ( ); // 得到错误代码rn// LPSTR lpBuffer; rn// FormatMessage ( FORMAT_MESSAGE_ALLOCATE_BUFFER | rn// FORMAT_MESSAGE_IGNORE_INSERTS | rn// FORMAT_MESSAGE_FROM_SYSTEM,rn// NULL,rn// nErrorNo, // 此乃错误代码,通常在程序中可由 GetLastError()得之rn// LANG_NEUTRAL,rn// (LPTSTR) & lpBuffer,rn// 0 ,rn// NULL );rn// MessageBox(NULL,lpBuffer,0,0);rn// LocalFree (lpBuffer); rn MessageBox(NULL,"<em>打开</em>U盘过滤驱动<em>失败</em>-CreateFile!","SendKeyUsernameToUsbfilter",0);rn return FALSE;rn rn rn return TRUE;rnrnrnrn
用CreateFile函数打开一个串口时遇到的问题
我用CreateFile函数<em>打开</em>一个<em>串口</em>rnrnlHandle = CreateFile("Comm1", GENERIC_READ Or GENERIC_WRITE, 0&, 0&, OPEN_EXISTING, 0&, 0&)rnMsgBox lHandlernrn<em>为什么</em>MsgBox总是返回“-1”,请问哪位能帮解决这个问题,先谢谢了!
为什么我用双网卡失败
我给一台机器配置了双网卡。一个用内部地址(局域网),一个用外部地址。内部地址(局域网)通过server连接到internet上,外部地址通过ISDN(有固定IP)拨号上网。但现在遇到的问题是:我用外部地址的IIS设置了一个defult web site,但server这台机器可正常访问它,别的机器通过拨号上网也可正常访问网页。就是局域网上其他机器通过server代理不能正常访问网页(defult web site会自动stopped)。我想问这是什么原因。十万火急,请诸位大哥帮帮忙。小弟感激涕零。
createfile和copyfile都失败啊,为什么
[code=c]#include rn#include rn#define BUF_SIZE 256rnint main(int argc,LPTSTR argv[])rnrn /*HANDLE hIn,hOut;rn DWORD nIn,nOut;rn CHAR buff[BUF_SIZE];rn if (argc!=3)rn rn printf("参数错误\n");rn rn hIn = CreateFile(argv[1],GENERIC_READ,FILE_SHARE_READ,NULL,rn OPEN_EXISTING,NULL,NULL);rn if (hIn == INVALID_HANDLE_VALUE)rn rn printf("%s<em>打开</em><em>失败</em> error:%x\n",argv[1],GetLastError);rn rn hOut = CreateFile(argv[2],GENERIC_WRITE,FILE_SHARE_WRITE,NULL,rn CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);rn if (hOut == INVALID_HANDLE_VALUE)rn rn printf("创建<em>失败</em> error:%x\n",GetLastError);rn rn while (ReadFile(hIn,buff,BUF_SIZE,&nIn,NULL)&&nIn>0)rn rn WriteFile(hOut,buff,nIn,&nOut,NULL);rn if (nIn!=nOut)rn rn printf("文件读写错误:%x\n",GetLastError());rn return 4;rn rn rn CloseHandle(hIn);rn CloseHandle(hOut);rn */rn if (!CopyFile(argv[1],argv[2],FALSE))rn rn printf("复制出错 error:%x\n",GetLastError);rn return 2;rn rn return 0;rn[/code]rn刚开始学win系统编程,代码如上,就是简单的复制个文件rngetlasterror值是768a11c0
WinCE下打开串口(Createfile)出错,返回串口无效。
WinCE下<em>打开</em><em>串口</em>(Createfile)出错,返回<em>串口</em>无法找到。rnm_hPort = Createfile(_T("COM1:"), GENERIC_READ | GENERIC_WRITE,0,NULL, OPEN_EXISTING, 0, NULL);rnm_hPort 返回 INVALID_HANDLE_VALUE
为什么我在应用命名管道的时候会CreateFile会失败?
hh:=CreateFile(pchar(pipename),GENERIC_READ or GENERIC_WRITE, FILE_SHARE_READ or FILE_SHARE_WRITE,NiL,OPEN_EXISTING,FILE_ATTRIBUTE_ARCHIVE or FILE_FLAG_WRITE_THROUGH,0);rnrnhh:=CreateFile(pchar(pipename),GENERIC_READ or GENERIC_WRITE, 0,null,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,null);rnrnhh:=CreateFile(Pchar(pipename),GENERIC_WRITE or GENERIC_READ,0,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);rnrnhh:= CreateFile(Pchar('\\.\pipe\Server'),GENERIC_WRITE or GENERIC_READ,0,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);rnrn哪个都不行`而且我单独测试也不行(直接用buttonClick事件执行也不行),直接hh=INVALID_HANDLE_VALUE 啥原因呢`rn
在CreateFile打开串口之前,需要不需要对串口初始化
就是还没确定是COM几的时候,需要不需要对<em>串口</em>初始化
CreateFile串口1能打开但是串口2打不开
系统是win7,vs2008+WINCE6.0SDKrn我用的是台式机,机器上本身有一个com1rn我现在用Virtual Serial Port Driver 6.0 by Eltima Sofware建了com2和com3rn用[<em>串口</em>调试助手V2.2]试了一下可以在com2和com3之间通信rnrn但是rnInitCommunication(TEXT("COM2:"));rnrnHANDLE InitCommunication ( LPTSTR pszDevName) rn DCB dcb;rn TCHAR szDbg[128];rn COMMTIMEOUTS cto;rn HANDLE hLocal;rnrn hLocal = hComPort;rn hComPort = INVALID_HANDLE_VALUE;rnrn if (hLocal != INVALID_HANDLE_VALUE)rn CloseHandle (hLocal); rnrn hLocal = CreateFile ((LPTSTR)(LPCTSTR)pszDevName, GENERIC_READ | GENERIC_WRITE,rn 0, NULL, OPEN_EXISTING, 0, NULL);rnrn if (hLocal != INVALID_HANDLE_VALUE) rn // 配置<em>串口</em>rn dcb.DCBlength = sizeof (dcb);rn GetCommState (hLocal, &dcb);rn dcb.BaudRate = nSpeed;rn dcb.fParity = FALSE;rn dcb.fNull = FALSE;rn dcb.StopBits = ONESTOPBIT;rn dcb.Parity = NOPARITY;rn dcb.ByteSize = 8;rn SetCommState (hLocal, &dcb);rnrn // 设定超时rn cto.ReadIntervalTimeout = 0;rn cto.ReadTotalTimeoutMultiplier = 0;rn cto.ReadTotalTimeoutConstant = 0;rn cto.WriteTotalTimeoutMultiplier = 0;rn cto.WriteTotalTimeoutConstant = 0;rn SetCommTimeouts (hLocal, &cto);rnrn // 启动读取线程rn hComPort = hLocal;rnrn else rn wsprintf (szDbg, TEXT ("Couldn\'t open port %s. rc=%d\r\n"),rn pszDevName, GetLastError());rn MessageBox(NULL,szDbg,TEXT("message"),MB_OK | MB_ICONERROR);rn rn return hComPort;rnrnrnrn如果用com1就可以成功<em>打开</em>,而用com2的话,CreateFile<em>失败</em>,错误是55rnrn虚拟的com2还需要做什么其他操作吗,注册表什么的rnrn谢谢了
汇编语言入门教程(PPT)下载
易懂的汇编语言入门教程 汇编语言程序设计是计算机类专业的重要专业基础课,是从事计算机研究与应用,特别是软件研究的基础。虽然它并不象高级语言如VB、VC那样容易使用,但它汇编后的目标代码少,执行时间短等优点是其他语言所无法取代的,所以它多用于那些要求运行效率高、实时性很强的系统程序和应用程序的编制,例如自动控制等方面,所以汇编语言是非常重要的。 相关下载链接:[url=//download.csdn.net/download/blisslove/2108655?utm_source=bbsseo]//download.csdn.net/download/blisslove/2108655?utm_source=bbsseo[/url]
电子商务中的第三方支付下载
学习第三方支付的内容,了解相关的运用现状以及如何进行实际运用! 相关下载链接:[url=//download.csdn.net/download/ch123eng/2853495?utm_source=bbsseo]//download.csdn.net/download/ch123eng/2853495?utm_source=bbsseo[/url]
Universal-USB-Installer-1.9.1.3.exe下载
Universal-USB-Installer-1.9.1.3.exe 相关下载链接:[url=//download.csdn.net/download/mayangshuwei/4736451?utm_source=bbsseo]//download.csdn.net/download/mayangshuwei/4736451?utm_source=bbsseo[/url]
我们是很有底线的