I_NetLogonControl2函数 (lmaccess.h)

I_NetLogonControl2函数控制 Netlogon 服务的各个方面。

Syntax

NET_API_STATUS NET_API_FUNCTION I_NetLogonControl2(
  [in, optional] LPCWSTR ServerName,
  [in]           DWORD   FunctionCode,
  [in]           DWORD   QueryLevel,
  [in]           LPBYTE  Data,
  [out]          LPBYTE  *Buffer
);

参数

[in, optional] ServerName

远程服务器的名称。

[in] FunctionCode

要执行的作。 此值可以是下列值之一。

价值 Meaning
NETLOGON_CONTROL_QUERY
1
无作。 仅返回请求的信息。
NETLOGON_CONTROL_REPLICATE
2
强制备份域控制器(BDC)上的安全帐户管理器(SAM)数据库与主域控制器(PDC)上的副本同步。 此作并不意味着完全同步。 如果可能,Netlogon 服务将复制任何未完成的差异。
NETLOGON_CONTROL_SYNCHRONIZE
3
强制 BDC 从 PDC 获取 SAM 数据库的新副本。 此作执行完全同步。
NETLOGON_CONTROL_PDC_REPLICATE
4
强制 PDC 要求每个 BDC 立即复制。
NETLOGON_CONTROL_REDISCOVER
5
强制域控制器 (DC) 重新发现指定的受信任域 DC。
NETLOGON_CONTROL_TC_QUERY
6
查询安全通道,请求有关其上次使用情况的状态更新。
NETLOGON_CONTROL_TC_VERIFY
10
验证指定的受信任域安全通道的当前状态。 如果状态指示成功,则域控制器将 ping。 如果状态或 ping 指示失败,则会重新发现新的受信任域控制器。
NETLOGON_CONTROL_CHANGE_PASSWORD
9
将安全通道上的密码更改强制更改为受信任的域。
NETLOGON_CONTROL_FORCE_DNS_REG
11
强制域控制器重新注册其所有 DNS 记录。 QueryLevel 参数必须设置为 1。
NETLOGON_CONTROL_QUERY_DNS_REG
12
发出请求 Netlogon 服务执行的 DNS 更新状态的查询。 如果在上次更新中出现任何 DNS 注册或取消注册错误,则结果为负数。 QueryLevel 参数必须设置为 1。

[in] QueryLevel

指示应从 Netlogon 服务返回哪些信息。 此值可以是以下任何结构。

NETLOGON_INFO_1 (1)

NETLOGON_INFO_2 (2)

NETLOGON_INFO_3 (3)

NETLOGON_INFO_4 (4)

[in] Data

携带取决于 FunctionCode 参数中指定的值的输入数据。 NETLOGON_CONTROL_REDISCOVER和NETLOGON_CONTROL_TC_QUERY函数代码指定受信任的域名(数据类型为 LPWSTR *)。

[out] Buffer

返回指向缓冲区的指针,该缓冲区包含 QueryLevel 参数中传递的结构中请求的信息。

必须使用 NetApiBufferFree 释放缓冲区。

返回值

该方法在成功时返回0x00000000(NERR_Success);否则,它将返回在 Lmerr.h 或 Winerror.h 中定义的非零错误代码。 NET_API_STATUS错误代码以值0x00000834开头。 有关网络管理错误代码的详细信息,请参阅 Network_Management_Error_Codes。 下表描述了可能的返回值。

返回代码/值 Description
NERR_Success
0x00000000
方法调用已完成且未出错。
ERROR_ACCESS_DENIED
0x00000005
调用方的访问权限验证返回 false。 访问被拒绝。
ERROR_NOT_ENOUGH_MEMORY
0x00000008
没有足够的存储可用于处理此命令。
ERROR_NOT_SUPPORTED
0x00000032
函数代码在指定的服务器上无效。 例如,NETLOGON_CONTROL_REPLICATE可能已传递到主域控制器(PDC)。
ERROR_INVALID_PARAMETER
0x00000057
参数不正确。
ERROR_INVALID_LEVEL
0x0000007C
查询调用级别不正确。
ERROR_SERVICE_NOT_ACTIVE
0x000004261210121
服务尚未启动。
ERROR_INVALID_COMPUTERNAME
0x000004BA
指定的计算机名称的格式无效。
ERROR_NO_LOGON_SERVERS
0x0000051F
目前没有可用于为登录请求提供服务的登录服务器。
ERROR_INVALID_DOMAIN_ROLE
0x0000054A
在备份域控制器(BDC)上尝试了域间信任帐户的密码更改。 仅允许域的 PDC 执行此作。
ERROR_NO_SUCH_DOMAIN
0x0000054B
指定的域不存在或无法联系。
NERR_UserNotFound
0x000008AD
找不到用户名。

注解

此函数可用于请求 BDC 确保其 SAM 数据库的副本 up-to日期。 它还可用于确定 BDC 当前是否向 PDC 开放了安全通道。

要求

Requirement 价值
目标平台 Windows操作系统
Header lmaccess.h
Library Netapi32.lib
DLL Netapi32.dll

另请参阅

NETLOGON_INFO_1

NETLOGON_INFO_2

NETLOGON_INFO_3

NETLOGON_INFO_4