APing
驱动牛犊
驱动牛犊
  • 注册日期2001-11-05
  • 最后登录2003-08-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:997回复:0

版主,请帮忙看一下我的程序,代码如下:

楼主#
更多 发布于:2002-01-22 09:26

请看看我这段代码,这段代码是用VC检测我的PALM机,GUID是我的PLAM机CLASSGUID(我从注册表中找到的),但程序运行不能通过,检测不到我的PALM机,请大家帮我分析原因,代码如下:
HDEVINFO INFO;
SP_INTERFACE_DEVICE_DATA INFODATA;
PSP_DEVICE_INTERFACE_DATA PINFODATA;
PSP_INTERFACE_DEVICE_DETAIL_DATA PINFODATADETAIL;
DWORD NeedLength=512;
HINSTANCE hInst=AfxGetApp()->m_hInstance;

GUID pGuid={0x4D36E978,0xE325,0x11CE,{0xBF,0xC1,0x08,0x00,0x2B,0xE1,0x03,0x18}};

INFO=SetupDiGetClassDevs(&pGuid,NULL,NULL,DIGCF_PRESENT|DIGCF_INTERFACEDEVICE);
if(INFO==INVALID_HANDLE_VALUE)
{
plist->AddString(\"NO HDEVINFO available for this GUID\\n\");
return;
}

INFODATA.cbSize=sizeof(INFODATA);
if(!SetupDiEnumDeviceInterfaces(INFO,NULL,&pGuid,0,&INFODATA))
{
plist->AddString(\"NO SP_INTERFACE_DEVICE_DATA available for this GUID instance\\n\");
SetupDiDestroyDeviceInfoList(INFO);
return;
}
plist->AddString(\"Success\");

SetupDiGetDeviceInterfaceDetail(INFO,&INFODATA,NULL,0,&NeedLength,NULL);
PINFODATADETAIL=(PSP_INTERFACE_DEVICE_DETAIL_DATA)malloc(NeedLength);
if(PINFODATADETAIL==NULL)
{
plist->AddString(\"NO PSP_INTERFACE_DEVICE_DETAIL_DATA\\n\");
SetupDiDestroyDeviceInfoList(INFO);
return;
}
INFODATA.cbSize=sizeof(SP_INTERFACE_DEVICE_DETAIL_DATA);
if(!SetupDiGetDeviceInterfaceDetail(INFO,&INFODATA,PINFODATADETAIL,NeedLength,NULL,NULL))

{
plist->AddString(\"Fail\");//程序运行到这里失败
SetupDiDestroyDeviceInfoList(INFO);
return;
}
plist->AddString(PINFODATADETAIL->DevicePath);




 
游客

返回顶部