Filter 通过DPInst和DIFxAPI的NDIS6 LWF安装问题

Filter 通过DPInst和DIFxAPI的NDIS6 LWF安装问题,filter,ndis,Filter,Ndis,我们有一个NDIS6 LWF驱动程序,如果从适配器的属性表安装,它可以正常安装,但既不通过DPInst安装,也不通过DIFxAPI.dll中的DriverPackageInstall函数安装 除供应商信息和说明外,其与NDIS6 LWF直通样品的不同之处如下: 仅绑定到WLAN介质: HKR,Ndi\接口,筛选器媒体类型,,“wlan” 指定DriverPackageType=网络(DIFxAPI的要求) passthru示例在这里说“压缩”,我们说“自定义” HKR,Ndi,过滤器类,定制 I

我们有一个NDIS6 LWF驱动程序,如果从适配器的属性表安装,它可以正常安装,但既不通过DPInst安装,也不通过DIFxAPI.dll中的DriverPackageInstall函数安装

除供应商信息和说明外,其与NDIS6 LWF直通样品的不同之处如下:

  • 仅绑定到WLAN介质: HKR,Ndi\接口,筛选器媒体类型,,“wlan”

  • 指定DriverPackageType=网络(DIFxAPI的要求)

  • passthru示例在这里说“压缩”,我们说“自定义” HKR,Ndi,过滤器类,定制

  • INF的当前完整版本存储在,因为它太大,无法在此处引用


    所以,问题是:为了通过DIFxAPI安装,这个INF还需要什么?(它目前通过适配器的属性表安装良好)

    您需要在inf文件中更新NetCfgInstanceId,并在驱动程序条目的注册属性中具有与UniqueName相同的id

    您可以使用以下站点生成新id并替换您的当前id:


    www.uuidgen.com

    你能给驱动程序注入“pnputil-a”吗?如果GUI工作正常,那么INF本身可能就可以了。我猜这是因为调用DIFxAPI函数的方式有问题。你能发布函数调用吗?我对DIFxAPI或DPInst了解不多,所以我不会太有用,但也许其他人可以。DIFxAPI调用如下:rc:=DriverPackageInstall(PWideChar(cSrcInf),0,nil,NeedReboot);如果rc错误\成功,则开始RaiseErr(rc);结束;Application.MessageBox('DriverPackageInstall返回成功!','Information');我们得到:错误代码0x0000000D-RaiseErr(rc)调用的结果,这意味着DriverPackageInstall返回0x0000000Dsorry,但StackOverflow似乎不支持注释中的代码格式…:(FormatMessageW(0x0D)返回“数据无效”。尝试使用pnputil-a,似乎可以在win7和win81上工作。