hr 0x800f0203没有为设备信息集或元素选择驱动程序

时间:2012-05-16 20:31:01

标签: windows com driver ndis

仍在努力安装我的LWF驱动程序。我想我已经接近但我正在跑步 进入这个错误:

" hr 0x800f0203没有为设备信息集选择驱动程序或 。元素"

我正在验证我是否正在复制INF和必要的组件 SetupCopyOEMInfA函数。在发布之前,设备上有锁定 之后,我省略了长度的发布。错误正在被抛出 pncClassSetup->安装功能。可能是因为我的componentId错了 但是在我发现的一个例子中,我看到它与MAX_PATH进行了比较,所以我想 这是一个INF文件。我一直在努力的例子是:

http://www.boudrand.net/index.php?option=com_content&view=article&id=5 http://stackoverflow.com/questions/10308583/programmatically-installing-ndis-filt ER-驱动

如果有人有任何见解我会非常感激!

hr = pnc->QueryNetCfgClass( &GUID_DEVCLASS_NETSERVICE,                     
    IID_INetCfgClassSetup,                      
    (void**)&pncClassSetup);

if (SUCCEEDED(hr))   {

    bool isCopied;
    PCSTR pathToInf =  "C:\\Users\\user\\Desktop\\directory\\i386\\lwf.inf";
    PCSTR pathToBin =  "C:\\Users\\user\\Desktop\\directory\\i386\\";
    PSTR DestinationInfFileName = "lwf.inf";

    isCopied = SetupCopyOEMInfA(pathToInf,                                         
     // path to inf file
        pathToBin,                                                                    
              // dir containing driver binary
        SPOST_PATH,
        0,
        NULL,
        256,
        NULL,
        NULL);

    hr = CoCreateInstance( CLSID_CNetCfg,
        NULL, CLSCTX_INPROC_SERVER,
        IID_INetCfg,
        (void**)&pnc );

    LPCWSTR componentId;
    componentId = L"C:\\Users\\user\\Desktop\\directory\\i386\\lwf.inf";

    hr = pncClassSetup->Install( componentId,
        &OboToken,
        NSF_POSTSYSINSTALL,
        0,
        NULL,
        NULL,
        &pncc);


    if (S_OK == hr){        
        pncc->Release();
        pncClassSetup ->Release();

        if (SUCCEEDED(hr))   
            hr = pnc->Apply();
    }
}

2 个答案:

答案 0 :(得分:1)

原来,componentId应该是INF文件中的id。就我而言 “ms_ndislwf”。

答案 1 :(得分:0)

为澄清上述答复,INetCfgClassSetup :: Install()方法的第一个参数必须与INF文件的DDInstall部分中指示的硬件ID相匹配。例如:

[Manufacturer]
"Taco Distributors Inc" = TacoDriver, NTamd64

[TacoDriver.NTamd64]
"Universal Taco Driver" = Taco_Install, 123TacosADay

[Taco_Install]
AddReg...
CopyFiles...
etc...

用一些数据填充数据,

csv.Dictwriter

在上面的示例中,您需要将“ 123TacosADay”传递给InetCfgClassSetup :: Install()方法的第一个参数。