I_NetLogonControl2 函数控制 Netlogon 服务的各个方面。
语法
NET_API_STATUS NET_API_FUNCTION I_NetLogonControl2(
  [in, optional] LPCWSTR ServerName,
  [in]           DWORD   FunctionCode,
  [in]           DWORD   QueryLevel,
  [in]           LPBYTE  Data,
  [out]          LPBYTE  *Buffer
);
parameters
[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。 下表描述了可能的返回值。
| 返回代码/值 | 说明 | 
|---|---|
  | 
方法调用已完成,没有错误。 | 
  | 
调用方的访问权限验证返回 false。 拒绝访问。 | 
  | 
没有足够的存储空间可用于处理此命令。 | 
  | 
函数代码在指定的服务器上无效。 例如,NETLOGON_CONTROL_REPLICATE可能已传递到 PDC) (主域控制器。 | 
  | 
参数不正确。 | 
  | 
查询调用级别不正确。 | 
  | 
该服务尚未启动。 | 
  | 
指定计算机名的格式无效。 | 
  | 
当前没有可用于处理登录请求的登录服务器。 | 
  | 
尝试在备份域控制器上更改域间信任帐户的密码 (BDC) 。 只有域的 PDC 才允许此操作。 | 
  | 
指定的域不存在,或无法访问。 | 
  | 
找不到用户名。 | 
注解
此函数可用于请求 BDC 确保其 SAM 数据库副本处于最新状态。 它还可用于确定 BDC 当前是否向 PDC 开放了安全通道。
要求
| 目标平台 | Windows | 
| 标头 | lmaccess.h | 
| Library | Netapi32.lib | 
| DLL | Netapi32.dll |