添加通知对象的注册表值

NetTransNetClientNetService 组件可以具有一个通知对象,用于执行以下一项或多项操作:

  • 显示组件的用户界面

  • 通知绑定事件的组件,以便组件可以对绑定过程行使某种控制

  • 有条件地安装或删除软件组件

注意 Windows 8.1、Windows Server 2012 R2 及更高版本中已弃用 NetClient 组件。

有关通知对象的详细信息,请参阅 通知网络组件的对象

注意net 组件 (适配器) 不支持通知对象;因此,这些组件应使用共同安装程序。

有关共同安装程序的详细信息,请参阅 编写共同安装程序

如果组件具有 notify 对象,则组件的 INF 文件必须通过 add-registry-section) 以下值添加到组件的 Ndi 键 (:

Clsid
一个REG_SZ值,该值指定通知对象的 GUID (全局唯一标识符) 。 通过运行 uuidgen.exe 实用工具获取此 GUID。 有关此实用工具的详细信息,请参阅 Microsoft Windows SDK。

ComponentDll
一个REG_SZ值,该值指定通知对象 DLL 的路径。 如果 DLL 不在 Windows\System32 目录中, 则 ComponentDll 必须指定 DLL 的完整路径。

下面是 add-registry-section 的示例,该节将 ClsIDComponentDll 值添加到 Ndi 键:

[MS_Protocol.ndi.reg]
HKR, Ndi, ClsID, 0, "GUID"
HKR, Ndi, ComponentDll, 0, "notifyobject.dll"

具有 notify 对象的组件的 DDInstall 节还必须包含 CopyFiles 指令,该指令引用将通知对象 DLL 复制到 DestinationDirs 节指定的目标目录的 file-list-section。 有关 CopyFiles 指令和 DestinationDirs 部分的详细信息,请参阅 INF 文件节和指令