다음을 통해 공유


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
백업 도메인 컨트롤러(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에 정의된 0이 아닌 오류 코드를 반환합니다. 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(백업 도메인 컨트롤러)에서 도메인 간 트러스트 계정에 대한 암호 변경을 시도했습니다. 이 작업은 도메인의 PDC에 대해서만 허용됩니다.
ERROR_NO_SUCH_DOMAIN
0x0000054B
지정한 도메인이 존재하지 않거나 연결할 수 없습니다.
NERR_UserNotFound
0x000008AD
사용자 이름을 찾을 수 없습니다.

설명

이 함수를 사용하여 BDC가 SAM 데이터베이스의 복사본을 최신 상태로 만들도록 요청할 수 있습니다. BDC에 현재 PDC에 열려 있는 보안 채널이 있는지 확인하는 데 사용할 수도 있습니다.

요구 사항

   
대상 플랫폼 Windows
헤더 lmaccess.h
라이브러리 Netapi32.lib
DLL Netapi32.dll

참고 항목

NETLOGON_INFO_1

NETLOGON_INFO_2

NETLOGON_INFO_3

NETLOGON_INFO_4