Caprice
驱动牛犊
驱动牛犊
  • 注册日期2001-07-24
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2324回复:4

2000下通过GUID来CreateFile() ?

楼主#
更多 发布于:2001-08-02 11:54
CreateFile("\\\\.\\Device\\{E40DDC4D-003C-431E-957F-D20EB5F05D2C}", 0,0,0,CREATE_NEW, FILE_FLAG_DELETE_ON_CLOSE, 0);

我想通过GUID打开我的NIC卡,为什么总返回错误3,即
ERROR_PATH_NOT_FOUND


最新喜欢:

skylglskylgl
God helps those who help themselves.
abeh
驱动牛犊
驱动牛犊
  • 注册日期2001-04-10
  • 最后登录2003-01-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-08-02 13:46
可以这样用么,Chris Cant写了这样一个函数来通过GUID打开文件句柄:
GetDeviceViaInterface(GUID *pGUID, DWORD Instance)
{
HDEVINFO hInfo=SetupDiGetClassDevs(pGUID,NULL,NULL,DIGCF_PRESENT|DIGCF_INTERFACEDEVICE);
if(hInfo==INVALID_HANDLE_VALUE)
{
AfxMessageBox("NO HDEVINFO available for this GUID");
}
SP_INTERFACE_DEVICE_DATA IfData;
IfData.cbSize=sizeof(IfData);
if(!SetupDiEnumDeviceInterfaces(hInfo,NULL,pGUID,Instance,&IfData))
{
AfxMessageBox("NO SP_INTERFACE_DEVICE_DATA availabel for this GUID Instance");
SetupDiDestroyDeviceInfoList(hInfo);
return NULL;
}
DWORD ReqLen;
SetupDiGetDeviceInterfaceDetail(hInfo,&IfData,NULL,0,&ReqLen,NULL);
PSP_INTERFACE_DEVICE_DETAIL_DATA pIfDetail=(PSP_INTERFACE_DEVICE_DETAIL_DATA)(new char[ReqLen]);
if(pIfDetail==NULL)
{
SetupDiDestroyDeviceInfoList(hInfo);
return NULL;
}
pIfDetail->cbSize=sizeof(SP_INTERFACE_DEVICE_DETAIL_DATA);
if(!SetupDiGetDeviceInterfaceDetail(hInfo,&IfData,pIfDetail,ReqLen,NULL,NULL))
{
SetupDiDestroyDeviceInfoList(hInfo);
delete(pIfDetail);
return NULL;
}
HANDLE hFile= CreateFile(pIfDetail->DevicePath, GENERIC_READ | GENERIC_WRITE, 0,
        NULL, OPEN_EXISTING, 0, NULL);
if (hFile == INVALID_HANDLE_VALUE)
    {
SetupDiDestroyDeviceInfoList(hInfo);
delete(pIfDetail);
return NULL;
    }
else
{
SetupDiDestroyDeviceInfoList(hInfo);
delete(pIfDetail);
return hFile;
}

return NULL;
}
我用过这个函数,很好用,你的方法不知道行不行。
环境:WinME+98DDK+VC6
我爱开发
Caprice
驱动牛犊
驱动牛犊
  • 注册日期2001-07-24
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2001-08-02 17:19
谢谢!

我用VC5编译它,出了一堆问题。看来应该用VC6
God helps those who help themselves.
c654321
驱动牛犊
驱动牛犊
  • 注册日期2001-08-02
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2001-08-03 13:06
我发现VC5的确存在一些问题,比如看资源文件的字总是一半!?有谁知道因为什么?是不是我的安装盘……:(  
winter
驱动小牛
驱动小牛
  • 注册日期2001-03-23
  • 最后登录2013-08-15
  • 粉丝4
  • 关注0
  • 积分5分
  • 威望40点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2001-08-04 00:01
一定是你的VC5有问题,再说现在弄张VC6也不难呀
请原谅我的无知与直率
游客

返回顶部