Поделиться через


функция I_NetLogonControl2 (lmaccess.h)

Функция 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
);

Параметры

[in, optional] ServerName

Имя удаленного сервера.

[in] FunctionCode

Операция, которая выполняется. Это значение может быть одним из следующих.

Значение Значение
NETLOGON_CONTROL_QUERY
1
Нет операции. Возвращает только запрошенные сведения.
NETLOGON_CONTROL_REPLICATE
2
Принудительно выполняет синхронизацию базы данных диспетчера учетных записей безопасности (SAM) на резервном контроллере домена (BDC) с копией на основном контроллере домена (PDC). Эта операция не подразумевает полную синхронизацию. Служба Netlogon по возможности реплицирует все невыполненные различия.
NETLOGON_CONTROL_SYNCHRONIZE
3
Принудительное получение BDC новой копии базы данных SAM из PDC. Эта операция выполняет полную синхронизацию.
NETLOGON_CONTROL_PDC_REPLICATE
4
Заставляет PDC запрашивать репликацию каждого BDC сейчас.
NETLOGON_CONTROL_REDISCOVER
5
Принудительное обнаружение контроллера домена (DC) для повторного обнаружения указанного доверенного домена домена.
NETLOGON_CONTROL_TC_QUERY
6
Запрашивает безопасный канал, запрашивая обновление состояния о последнем использовании.
NETLOGON_CONTROL_TC_VERIFY
10
Проверяет текущее состояние указанного защищенного канала доверенного домена. Если состояние указывает на успешное выполнение, проверяется связь с контроллером домена. Если состояние или проверка ping указывает на сбой, то новый доверенный контроллер домена вновь обнаружается.
NETLOGON_CONTROL_CHANGE_PASSWORD
9
Принудительное изменение пароля в защищенном канале в доверенный домен.
NETLOGON_CONTROL_FORCE_DNS_REG
11
Заставляет контроллер домена повторно зарегистрировать все свои записи DNS. Параметр QueryLevel должен иметь значение 1.
NETLOGON_CONTROL_QUERY_DNS_REG
12
Выдает запрос, запрашивающий состояние обновлений DNS, выполненных службой Netlogon. Если при последнем обновлении произошли какие-либо ошибки регистрации или отмены регистрации 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. В следующей таблице описаны возможные возвращаемые значения.

Возвращаемый код или значение Описание
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) была предпринята попытка смены пароля для учетной записи междоменного доверия. Эта операция разрешена только для основного контроллера домена.
ERROR_NO_SUCH_DOMAIN
0x0000054B
указанный домен не существует, либо к нему нет доступа.
NERR_UserNotFound
0x000008AD
Не удалось найти имя пользователя.

Комментарии

Эту функцию можно использовать, чтобы запросить, чтобы служба подключения к бизнес-данным обеспечивала актуальность своей копии базы данных SAM. Его также можно использовать для определения того, есть ли в настоящее время в кластере больших данных безопасный канал, открытый для PDC.

Требования

   
Целевая платформа Windows
Header lmaccess.h
Библиотека Netapi32.lib
DLL Netapi32.dll

См. также раздел

NETLOGON_INFO_1

NETLOGON_INFO_2

NETLOGON_INFO_3

NETLOGON_INFO_4