다음을 통해 공유


DsGetDcNextA 함수(dsgetdc.h)

DsGetDcNext 함수는 도메인 컨트롤러 열거형 작업에서 다음 도메인 컨트롤러를 검색합니다.

통사론

DSGETDCAPI DWORD DsGetDcNextA(
  [in]            HANDLE           GetDcContextHandle,
  [out, optional] PULONG           SockAddressCount,
  [out, optional] LPSOCKET_ADDRESS *SockAddresses,
  [out, optional] LPSTR            *DnsHostName
);

매개 변수

[in] GetDcContextHandle

DsGetDcOpen 함수에서 제공하는 도메인 컨트롤러 열거형 컨텍스트 핸들을 포함합니다.

[out, optional] SockAddressCount

SockAddresses 배열의 요소 수를 받는 ULONG 값에 대한 포인터입니다. 이 매개 변수가 NULL소켓 주소는 검색되지 않습니다.

[out, optional] SockAddresses

도메인 컨트롤러에 대한 소켓 주소 데이터를 수신하는 SOCKET_ADDRESS 구조의 배열에 대한 포인터입니다. SockAddressCount 이 배열의 요소 수를 받습니다.

반환된 모든 주소는 AF_INET 형식이거나 AF_INET6. sin_port 멤버는 서버 레코드의 포트를 포함합니다. 포트가 0이면 DNS에서 사용할 수 있는 포트가 없음을 나타냅니다.

호출자는 LocalFree호출하여 더 이상 필요하지 않은 경우 이 메모리를 해제해야 합니다.

이 매개 변수는 SockAddressCount NULL경우 무시됩니다.

[out, optional] DnsHostName

도메인 컨트롤러의 DNS 이름을 받는 문자열 포인터에 대한 포인터입니다. 이 매개 변수는 알려진 호스트 이름이 없는 경우 NULL 받습니다. 호출자는 NetApiBufferFree호출하여 더 이상 필요하지 않은 경우 이 메모리를 해제해야 합니다.

반환 값

성공하거나 Win32 또는 RPC 오류가 발생하면 ERROR_SUCCESS 반환합니다. 가능한 오류 값은 다음과 같습니다.

발언

열거형을 다시 설정하려면 DsGetDcClose 호출하여 현재 열거형을 닫은 다음 DsGetDcOpen 다시 호출하여 열거형을 다시 엽니다.

DsGetDcNext 반환된 DC는 RODC(읽기 전용 DC)가 아닙니다. 이러한 DC는 사이트별 레코드와 CName 레코드만 등록하고 DsGetDcNextDsGetDcOpen은 DNS SRV 레코드를 찾을 있기 때문입니다.

다음 절차에서는 Windows Server 2008을 실행하는 컴퓨터에서 전체 DC 목록을 가져오는 방법을 보여 줍니다.

도메인 컨트롤러의 전체 목록을 가져오려면

  1. DsGetDcName 사용하여 도메인 컨트롤러 이름을 가져옵니다.
  2. DsBind 사용하여 해당 도메인 컨트롤러에 연결합니다.
  3. DsGetDomainControllerInfo InfoLevel 3(DS_DOMAIN_CONTROLLER_INFO_3)으로 호출하여 RODC를 포함한 전체 목록을 가져옵니다.

메모

dsgetdc.h 헤더는 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 DsGetDcNext를 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한 규칙을 참조하세요.

요구 사항

요구
지원되는 최소 클라이언트 Windows Vista
지원되는 최소 서버 Windows Server 2008
대상 플랫폼 Windows
헤더 dsgetdc.h
라이브러리 Netapi32.lib
DLL Netapi32.dll

참고 항목

디렉터리 서비스 함수

DsGetDcClose

DsGetDcOpen

도메인 컨트롤러 열거하는

LocalFree

NetApiBufferFree

SOCKET_ADDRESS