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