2012-05-16 1 views
0

LWF 드라이버를 계속 설치하고 있습니다. 나는 가까이 있지만이 오류로 을 실행하고 있다고 생각합니다 :hr 0x800f0203 장치 정보 집합 또는 요소에 대해 선택된 드라이버가 없습니다.

"hr 0x800f0203 장치 정보 세트 또는 요소에 대해 선택된 드라이버가 없습니다."

INFC 및 필요한 구성 요소를 SetupCopyOEMInfA 함수로 복사한다는 것을 확인합니다. 장치에 자물쇠가 있고 나중에 길이가 0 인 게시를 생략하면 이 출시됩니다. 이 오류는 pncClassSetup-> Install 기능에서 발생합니다. 그것은 아마도 내 componentId가 잘못 되었기 때문일 것입니다. 예를 들어 MAX_PATH와 비교되는 것을 보았습니다. 그래서 나는 INF 파일이라고 생각했습니다. INF 파일이었습니다. 나는 떨어져 일한지의 예는 다음과 같습니다

http://www.boudrand.net/index.php?option=com_content&view=article&id=5 http://stackoverflow.com/questions/10308583/programmatically-installing-ndis-filt 어 드라이버 사람이 어떤 통찰력이있는 경우

I 크게 감사하겠습니다!

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

답변

0

그 componentId가 INF 파일의 ID라고 가정합니다. 내 경우에는 "ms_ndislwf".