none
NDIS protocol installation fails with REGDB_E_CLASSNOTREG=0x80040154 on Windows 10 Pro Insider Preview, build no. 10130 RRS feed

  • Question

  • Hi from Germany,

    since a couple of years we are installing our NDIS protocol driver with the class INetCfgClassSetup without any problems:

    ... 
    INetCfgClassSetup* pncClassSetup = NULL;

    // Get setup interface.
    hr = m_pINetCfg->QueryNetCfgClass(GetNetClassId(ComponentNetClass), IID_INetCfgClassSetup, (void**) &pncClassSetup);
    hr = pncClassSetup->Install(pszwComponentId, pOboToken, NSF_POSTSYSINSTALL, 0, NULL, NULL, ppComponent);        // OUT INetCfgComponent **ppComponent
    ..

    With Windows 10 Pro Insider Preview, Build number 10130 the Install function fails with hr=REGDB_E_CLASSNOTREG=0x80040154.

    Playing with the problem we have seen, that the install fails only, when the INF file contains the registration of our ComponentDLL:

    [Install]
    AddReg=Inst_Ndi
    Characteristics=0x0

    [Inst_Ndi]
    HKR,Ndi,Service,,"Sntie"
    HKR,Ndi,HelpText,,%SNTIE_HelpText%
    HKR,Ndi\Interfaces, UpperRange,, noupper
    HKR,Ndi\Interfaces, LowerRange,,"ndis5,ndis4,ndis5_prot"
    ; Keys required if a notify object is present
    HKR, Ndi, ClsID, , {d4909868-748b-4734-ad67-9114d39f235d}
    HKR, Ndi, ComponentDll, , sntieno.dll

    =>  hr=REGDB_E_CLASSNOTREG=0x80040154


    When removing
    HKR, Ndi, ClsID, , {d4909868-748b-4734-ad67-9114d39f235d}
    HKR, Ndi, ComponentDll, , sntieno.dll
    then the installation runs successfully.

    Any ideas?

    Thanks a lot.

    Carsten

    Monday, June 15, 2015 8:00 AM

Answers

  • Sorry you had to go through this. This bug is fixed as of build 10141. Please give it a try and let me know if you have any further issues.
    Wednesday, June 17, 2015 4:59 PM

All replies

  • Are you trying to make it a Universal Driver? If so, then you cannot have an installer DLL because the system Setup DLL is not part of the Universal subset.

     -Brian


    Azius Developer Training www.azius.com Windows device driver, internals, security, & forensics training and consulting. Blog at www.azius.com/blog

    Monday, June 15, 2015 7:00 PM
    Moderator
  • Hi Brian,
    thanks for your reply. It is a NDIS Driver, not an Universal Driver.
    -Carsten

    Tuesday, June 16, 2015 5:08 AM
  • Most NDIS drivers are Universal, but protocol drivers are not.

    I'll see if I can get one of the NDIS devs to take a look at this

     -Brian


    Azius Developer Training www.azius.com Windows device driver, internals, security, & forensics training and consulting. Blog at www.azius.com/blog

    Tuesday, June 16, 2015 6:29 AM
    Moderator
  • Sorry you had to go through this. This bug is fixed as of build 10141. Please give it a try and let me know if you have any further issues.
    Wednesday, June 17, 2015 4:59 PM
  • Hello Brian,

    it looks like as if the BUG is not fixed with Build 10162.

    With this Build the installation now fails with another error code
    E_NOINTERFACE = 0x80004002L

    But the picture is the same:
    When removing the INF lines
     HKR, Ndi, ClsID, , {d4909868-748b-4734-ad67-9114d39f235d}
     HKR, Ndi, ComponentDll, , sntieno.dll
    then the installation runs successfully.

    Thanks,

    Carsten

    Wednesday, July 8, 2015 8:14 AM
  • This error is because your DLL does not actually implement CLSID {d4909868-748b-4734-ad67-9114d39f235d}.
    Wednesday, July 8, 2015 5:36 PM
  • What does that mean "the DLL does not actually implement CLSID {d4909868-748b-4734-ad67-9114d39f235d}"?

    The INF file (with the component DLL) run successfully on Win 7 and Win 8.1.

    Is there something new?
    Do I have to "implement" the above CLSID?
    How shall that work?

    Thursday, July 9, 2015 5:11 AM