标题:【求助】打开设备总是失败
取消只看楼主
gpp6025
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2010-7-8
结帖率:84.62%
已结贴  问题点数:20 回复次数:2 
【求助】打开设备总是失败
CreateFile执行总是失败!~各位路过的大大们帮忙看看吧~~小弟不胜感激~~
#include "stdafx.h"
#include <string.h>
#include <Windows.h>

int _tmain(int argc, _TCHAR* argv[])
{
    HANDLE devicehdle;
    void* dlinkname=malloc(sizeof(LPCTSTR));
    memcpy(dlinkname,"\\\\.\\A_safe",13);
    devicehdle=CreateFile((LPCTSTR)dlinkname,
        GENERIC_READ|GENERIC_WRITE,0,0,
        OPEN_EXISTING,FILE_ATTRIBUTE_SYSTEM,0);
    if(devicehdle==INVALID_HANDLE_VALUE)
    {
        printf("the device open fail!!");
    }else{
        printf("the device open ok !!");
    }
    CloseHandle(devicehdle);
    return 0;
}
生成的设备和符号链接名都没有问题,~就是上面的代码有问题~~
那应该就是    void* dlinkname=malloc(sizeof(LPCTSTR));
    memcpy(dlinkname,"\\\\.\\A_safe",13);这两句的问题了~CreateFile函数要求的(LPCTSTR)类型要怎么写啊?

[ 本帖最后由 gpp6025 于 2011-5-10 22:07 编辑 ]
搜索更多相关主题的帖子: 不胜感激 
2011-05-10 17:52
gpp6025
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2010-7-8
得分:0 
回复 2楼 debroa723
我将代码改成下面的,
我是用CreateFile来打开一个设备~,在MSDN上打开Communication Device设备必须设置第五个参数为OPEN_EXISTING和最后一个参数为NULL,
对filename这个参数设备的话是一个符号链接名吧,而且是一个空结尾字符串?
但是通过getlasterror得到错误号是2也就是找不到指定文件,也就是filename有问题吧?我不知道我下面的这个用字符组来写错在了哪~~

#include "stdafx.h"
#include <string.h>
#include <Windows.h>

int _tmain(int argc, _TCHAR* argv[])
{
    HANDLE devicehdle;
    char dlinkname[11]=“\\\\.\\A_safe”;
    devicehdle=CreateFile((LPCTSTR)dlinkname,
        GENERIC_READ|GENERIC_WRITE,0,0,
        OPEN_EXISTING,FILE_ATTRIBUTE_SYSTEM,0);
    if(devicehdle==INVALID_HANDLE_VALUE)
    {
        printf("the device open fail!!");
    }else{
        printf("the device open ok !!");
    }
    CloseHandle(devicehdle);
    return 0;
}
2011-05-12 22:21
gpp6025
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2010-7-8
得分:0 
回复 2楼 debroa723
你说的要绝对路劲是不是要把“\\\\.\\A_safe” 改成"DosDevice\\\\.\\A_safe" 吗??
2011-05-12 22:24



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-339424-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.098839 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved