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
要执行的作。 此值可以是下列值之一。
[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 |
|---|---|
|
方法调用已完成且未出错。 |
|
调用方的访问权限验证返回 false。 访问被拒绝。 |
|
没有足够的存储可用于处理此命令。 |
|
函数代码在指定的服务器上无效。 例如,NETLOGON_CONTROL_REPLICATE可能已传递到主域控制器(PDC)。 |
|
参数不正确。 |
|
查询调用级别不正确。 |
|
服务尚未启动。 |
|
指定的计算机名称的格式无效。 |
|
目前没有可用于为登录请求提供服务的登录服务器。 |
|
在备份域控制器(BDC)上尝试了域间信任帐户的密码更改。 仅允许域的 PDC 执行此作。 |
|
指定的域不存在或无法联系。 |
|
找不到用户名。 |
注解
此函数可用于请求 BDC 确保其 SAM 数据库的副本 up-to日期。 它还可用于确定 BDC 当前是否向 PDC 开放了安全通道。
要求
| Requirement | 价值 |
|---|---|
| 目标平台 | Windows操作系统 |
| Header | lmaccess.h |
| Library | Netapi32.lib |
| DLL | Netapi32.dll |