0

まだLWFドライバーのインストールに取り組んでいます。私は近くにいると思いますが、このエラーが発生しています:

"hr0x800f0203デバイス情報セットまたは要素にドライバーが選択されていません。"

SetupCopyOEMInfA関数を使用して、INFと必要なコンポーネントをコピーしていることを確認しています。前にデバイスにロックがあり、その後のリリースでは、長さの投稿を省略しています。pncClassSetup->Install関数でエラーがスローされています。これはおそらく、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-driver

誰かが何か洞察を持っているなら、私はそれを大いに感謝します!

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();
    }
}
4

2 に答える 2

1

componentId は INF ファイルの id であることがわかっています。私の場合は "ms_ndislwf" です。

于 2012-05-17T17:28:14.413 に答える