【问题标题】:NDIS6 LWF installation problems via DPInst and DIFxAPI通过 DPInst 和 DIFxAPI 的 NDIS6 LWF 安装问题
【发布时间】:2014-11-29 03:44:23
【问题描述】:

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

除了供应商信息和描述外,它与 NDIS6 LWF Passthru 示例的不同之处在于:

  1. 仅绑定到 WLAN 介质: HKR, Ndi\Interfaces, FilterMediaTypes,,"wlan"

  2. 指定 DriverPackageType=Network(DIFxAPI 的要求)

  3. passthru 示例在这里说“压缩”,我们说“自定义” HKR、Ndi、FilterClass、自定义

当前完整版本的 INF 存储在 https://docs.google.com/file/d/0By4TPkL7aR-RelRSZC1PZmdQYnc/edit?pli=1,因为它太大,无法在此处引用。

所以,问题是:这个 INF 还需要什么才能通过 DIFxAPI 安装? (目前通过适配器的属性表可以正常安装)

【问题讨论】:

  • 你能用“pnputil -a”注入驱动吗?如果 GUI 工作正常,那么 INF 本身可能没问题。我猜这是您调用 DIFxAPI 函数的方式的问题。你可以发布函数调用吗?我对 DIFxAPI 或 DPInst 了解不多,所以我不能太有用,但也许其他人可以。
  • difxapi 调用如下: rc := DriverPackageInstall( PWideChar(cSrcInf), 0, nil, NeedReboot );如果 rc ERROR_SUCCESS 然后开始 RaiseErr(rc);结尾; Application.MessageBox('DriverPackageInstall 返回成功!', '信息');我们得到:错误代码 0x0000000D - RaiseErr(rc) 调用的结果意味着 DriverPackageInstall 返回 0x0000000D
  • 抱歉,但 StackOverflow 似乎不支持 cmets 中的代码格式... :(
  • FormatMessageW(0x0D) 返回“数据无效。”
  • 试过pnputil -a,好像win7和win81都可以。

标签: filter ndis


【解决方案1】:

您将需要更新 inf 文件中的 NetCfgInstanceId 并在驱动程序入口处的注册属性中具有与 UniqueName 相同的 id。

您可以使用以下网站生成新的 id 并替换您的礼物:

www.uuidgen.com

【讨论】:

    猜你喜欢
    • 2016-10-14
    • 2020-10-03
    • 1970-01-01
    • 2021-11-23
    • 2017-12-22
    • 1970-01-01
    • 1970-01-01
    • 2021-04-15
    • 2022-01-18
    相关资源
    最近更新 更多