复制函数

【勇芳软件工作室】汉化HomePreviousNext

复制器功能控制Windows NT复制器服务如何将选择性目录从导出服务器更新到一个或多个客户端。除了以良好定义的方式提供兼容的LAN Manager 2.【x】功能外,这套新的LAN Manager功能可以进行特定的API(操作)安全检查。有三种类型的复制器功能:

*复制器配置功能

*Replicator导出目录功能

*Replicator导入目录功能

如果您无法复制文件,在使用复制器功能之前,请检查控制面板服务应用程序,以确保将复制器服务配置为使用特定用户帐户登录。此用户帐户必须是Replicator本地组的成员,并且不能禁用或缺少访问相应服务器上导入和导出树的权限。失败指定用户帐户是配置Replicator服务时最常见的错误。

Windows NT Replicator服务旨在复制相对较小的目录树。如果您正在尝试复制多个千兆目录树或包含数千个目录和文件的树,您应该考虑其他一些方法。

从Windows NT上的基于文件系统控制的LAN Manager 2.【x】到复制器功能控制的改变具有以下含义:

*应用程序不能再删除客户端导入路径中的目录,以停止从主服务器接收更新。

*应用程序不能再使用主机上每个复制目录中的REPL.INI文件来控制复制方法。

*应用程序不能再通过创建或删除USERLOCK。*文件来锁定或解锁主机上的目录。

*应用程序无法再锁定或解锁客户端上的目录,无法通过创建或删除USERLOCK。*文件从其主机接收更新。

*依赖于LAN Manager 2的应用程序。【x】将忽略文件完整性树的锁的行为。(Windows NT策略与LAN Manager 2不同。【x】策略;在Windows NT下,锁总是被尊重。)

可以通过适当的功能将前面列出的每个预期操作指定给Windows NT复制器服务。

作为本地或远程导出服务器上的管理组或服务器操作员组成员登录的任何用户或应用程序都可以修改控制复制服务的参数。

复制器配置功能

可以使用复制器配置功能检查和修改复制器服务的配置参数。复制器配置功能有:

NetReplGetInfo
NetReplSetInfo

可以使用NetReplGetInfo来检查复制器的配置参数。可以使用NetReplSetInfo修改它们。

复制器配置信息结构如下:

REPL_INFO_0
REPL_INFO_1000
REPL_INFO_1001
REPL_INFO_1002
REPL_INFO_1003

Replicator导出目录功能

复制器导出目录功能控制主节点导出路径下的顶层目录。复制器导出目录功能有:

NetReplExportDirAdd
NetReplExportDirDel
NetReplExportDirEnum
NetReplExportDirGetInfo
NetReplExportDirLock
NetReplExportDirSetInfo
NetReplExportDirUnlock

用户可以在导出路径下创建一个新目录,并且Replicator服务将自动复制该目录。或者,可以使用NetReplExportDirAdd注册导出路径下的目录。使用这些功能添加要复制的目录时,使用NetReplExportDirAdd功能指定复制控件(廉正程度)。如果在文件系统中创建目录,并且没有复制器函数被调用,则该目录被视为具有文件完整性和树状范围。

廉正控件确定主服务器何时更新客户端。当廉正为REPL_INTEGRITY_FILE时,客户端在不使用(正在更改或复制)的情况下获取目录中的文件的副本。当廉正设置为REPL_INTEGRITY_TREE时,在更新客户端之前,复制目录中的每个文件和目录必须稳定在保护时间参数指定的时间。程度控件确定是否复制目录中的整个树(REPL_EXTENT_TREE),或仅复制一级目录中的文件(REPL_EXTENT_FILE)。

可以使用NetReplExportDirGetInfo检查每个复制目录的复制控件,并使用NetReplExportDirSetInfo动态修改。这些控制字段用于在LAN Manager 2 【x】上的每个复制目录中的REPL.INI文件中指定,并且无法动态设置。在Windows NT上,REPL.INI文件不被使用,在复制过程中将被忽略。

NetReplExportDirEnum函数返回当前复制的目录列表。NetReplExportDirDel函数取消注册一个目录,使其不再复制。

锁定状态信息返回两个字段:锁定计数锁小时.锁定计数字段指示目录上未完成的锁的数量。锁小时字段指示当目录被第一次锁定的时间(自1970年以来的几秒钟,GMT),如果目录未被锁定,则为0。

NetReplExportDirLock功能通过递增目录的锁引用计数来锁定目录,使其不被复制。使用NetReplExportDirUnlock .可以解锁目录上的锁定。除非释放该目录中的所有未完成的锁,并将锁定引用计数返回到0,否则复制不会恢复。(锁定计数为0时,锁小时字段自动设置为0)

无论Replicator服务是否正在运行,都可以调用复制器导出目录功能。如果Replicator服务作为主服务器运行,对目录控件的任何修改将立即生效,并且在Replicator服务停止后持续。如果Replicator服务未启动,则该目录的控件将作为持久性信息存储,并在Replicator服务启动时生效。

复制器导出目录功能可在以下信息级别获得:

REPL_EDIR_INFO_0
REPL_EDIR_INFO_1
REPL_EDIR_INFO_2
REPL_EDIR_INFO_1000
REPL_EDIR_INFO_1001

Replicator导入目录功能

复制器导入目录功能指定导入路径下的顶级目录以接收更新。它们还返回客户端上有关复制目录的状态信息。在LAN Manager 2.【x】上,用户必须在导入路径下创建一个目录,并且Replicator服务会自动复制到该目录。复制器导入目录功能有:

NetReplImportDirAdd
NetReplImportDirDel
NetReplImportDirEnum
NetReplImportDirGetInfo
NetReplImportDirLock
NetReplImportDirUnlock

在Windows NT上,导入目录将自动添加,如果导入目录导出导出器导出的导出服务器。注册目录的另一种方式是将其导出,就是使用NetReplImportDirAdd函数。此函数不会创建目录本身。如果要在导入目录之前修改导入目录的某些属性(例如锁定它),这很有用。

NetReplImportDirDel功能取消注册目录。这用于清理不再导出的目录。如果存在活动的导出器,则不会停止复制,因为在下一次导出器告知导入器导出哪些目录时,它将被重新注册。如果您希望禁止导入主动导出的目录,请使用NetReplImportDirLock.

NetReplImportDirEnum功能列出了复制到客户端的所有目录,NetReplImportDirGetInfo 返回指定目录的状态。

目录的状态信息由复制,主控制器的UNC计算机名称(last_update_time)以及目录上次更新时的时间(自1970年以来的GMT)({989796161 })。如果为REPL_STATE_OK,则该目录当前具有主服务器,并且正在从其接收定期的更新通知。如果为REPL_STATE_NO_MASTER,则该主机不支持该目录,并且通常为空。如果为REPL_STATE_NO_SYNC,则该目录具有主机,但主机在间隔时间段内尚未发送任何更新通知。这可能是由于通信故障,主机崩溃,被锁定的目录,客户端目录中的文件在更新时被打开,或主机上的不稳定的REPL_INTEGRITY_TREE 廉正目录。如果客户端Replicator服务未启动,则为REPL_STATE_NEVER_REPLICATED,last_update_time为空字符串,LAST_UPDATE_TIME为0。NetReplImportDirLock功能锁定一个目录,使其不会通过递增目录的锁引用计数来接收更新。使用NetReplImportDirUnlock .可以解锁目录上的锁定,除非释放该目录的所有未完成的锁,并将锁定引用计数返回为0。

锁定状态信息返回两个字段:锁定计数锁小时.锁定计数字段指示目录上未完成的锁的数量。锁小时字段指示当目录第一次锁定时的时间(自1970年以来的几秒钟,GMT)。({989796801}变为0时,锁小时设置为0)

Replicator服务是否正在运行,可以调用复制器导入目录功能。如果Replicator服务作为客户端运行,目录添加或删除将立即生效,并在Replicator服务停止后持续。如果Replicator服务未启动,则当Replicator服务启动时(如果存在导出目录的主服务器),任何添加的目录将接收更新。

复制器导入目录功能可在以下信息级别获得:

REPL_IDIR_INFO_0
REPL_IDIR_INFO_1