NetServerTransportAddEx 함수(lmserver.h)
NetServerTransportAddEx 함수는 지정된 서버를 전송 프로토콜에 바인딩합니다. 이 확장 함수를 사용하면 호출 애플리케이션이 SERVER_TRANSPORT_INFO_0, SERVER_TRANSPORT_INFO_1, SERVER_TRANSPORT_INFO_2 또는 SERVER_TRANSPORT_INFO_3 정보 수준을 지정할 수 있습니다.
구문
NET_API_STATUS NET_API_FUNCTION NetServerTransportAddEx(
[in] LMSTR servername,
[in] DWORD level,
[in] LPBYTE bufptr
);
매개 변수
[in] servername
함수를 실행할 원격 서버의 이름을 지정하는 문자열에 대한 포인터입니다. 이 매개 변수가 NULL이면 로컬 컴퓨터가 사용됩니다.
[in] level
데이터의 정보 수준을 나타내는 값을 지정합니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.
값 | 의미 |
---|---|
|
네트워크의 이름, 주소 및 위치를 포함하여 전송 프로토콜에 대한 정보를 지정합니다. bufptr 매개 변수는 SERVER_TRANSPORT_INFO_0 구조를 가리킵니다. |
|
이름, 주소, 네트워크 위치 및 도메인을 포함하여 전송 프로토콜에 대한 정보를 지정합니다. bufptr 매개 변수는 SERVER_TRANSPORT_INFO_1 구조를 가리킵니다. |
|
svti2_flags 멤버를 추가하여 수준 1과 동일한 정보를 지정합니다. bufptr 매개 변수는 SERVER_TRANSPORT_INFO_2 구조를 가리킵니다. |
|
자격 증명 정보를 추가하여 수준 2와 동일한 정보를 지정합니다. bufptr 매개 변수는 SERVER_TRANSPORT_INFO_3 구조를 가리킵니다. |
[in] bufptr
데이터를 포함하는 버퍼에 대한 포인터입니다. 이 데이터의 형식은 수준 매개 변수의 값에 따라 달라집니다.
자세한 내용은 네트워크 관리 함수 버퍼를 참조하세요.
반환 값
함수가 성공하면 반환 값이 NERR_Success.
함수가 실패하면 반환 값은 다음 오류 코드 중 하나일 수 있습니다.
반환 코드 | 설명 |
---|---|
|
사용자는 요청한 정보에 대한 액세스 권한이 없습니다. |
|
네트워크에 중복된 이름이 있습니다. |
|
네트워크에서 도메인 이름을 찾을 수 없습니다. |
|
level 매개 변수에 대해 지정된 값이 잘못되었습니다. |
|
매개 변수가 잘못되었습니다.
이 오류는 bufptr 매개 변수가 가리키는 SERVER_TRANSPORT_INFO_0, SERVER_TRANSPORT_INFO_1, SERVER_TRANSPORT_INFO_2 또는 SERVER_TRANSPORT_INFO_3 구조체의 전송 이름 또는 전송 주소 멤버가 NULL인 경우 반환됩니다. 이 오류는 bufptr 매개 변수가 가리키는 SERVER_TRANSPORT_INFO_0, SERVER_TRANSPORT_INFO_1, SERVER_TRANSPORT_INFO_2 또는 SERVER_TRANSPORT_INFO_3 구조체의 전송 주소 길이 멤버가 0이거나 MAX_PATH(Windef.h 헤더 파일에 정의됨)보다 큰 경우에도 반환됩니다. 이 오류는 SERVER_TRANSPORT_INFO_2 플래그 멤버 또는 bufptr 매개 변수가 가리키는 SERVER_TRANSPORT_INFO_3 구조체에 잘못된 값이 포함된 경우에도 반환됩니다. 이 오류는 다른 잘못된 매개 변수에 대해서도 반환됩니다. |
|
사용 가능한 메모리가 부족합니다. |
설명
관리자 또는 서버 연산자 로컬 그룹의 멤버만 NetServerTransportAddEx 함수를 성공적으로 실행할 수 있습니다.
NetServerTransportAddEx 함수에 대한 호출을 사용하여 서버에 전송 프로토콜을 추가하는 경우 서버를 다시 부팅하거나 다시 시작한 후에도 연결이 유지되지 않습니다.
NetServerComputerNameAdd 함수는 유틸리티 함수입니다. NetServerTransportEnum 함수와 NetServerTransportAddEx 함수의 기능을 결합하여 에뮬레이트된 서버 이름을 지정할 수 있습니다.
Windows Server 2008 및 Windows Vista SP1(서비스 팩 1)에서 SRV(Windows 원격 파일 서버)에 등록된 모든 이름은 범위가 지정된 이름 또는 비 범위 이름으로 지정됩니다. 시스템에 추가된 모든 공유는 범위가 지정되지 않은 모든 이름 또는 단일 범위 이름에 연결됩니다. 범위 지정 기능을 사용하려는 애플리케이션은 새 이름을 범위가 지정된 엔드포인트로 등록한 다음 적절한 scope 사용하여 공유를 만드는 작업을 모두 담당합니다. 이러한 방식으로 네트워크 관리 및 네트워크 공유 관리 함수의 레거시 사용은 범위가 지정되지 않은 이름으로 공유 및 이름을 계속 등록하기 때문에 어떤 식으로든 영향을 받지 않습니다.
범위가 지정된 엔드포인트는 수준 매개 변수가 2로 설정된 NetServerTransportAddEx 함수를 호출하고, bufptr 매개 변수는 svti2_flags 멤버에 설정된 SVTI2_SCOPED_NAME 비트 값이 있는 SERVER_TRANSPORT_INFO_2 구조를 가리켰습니다. 범위가 지정된 엔드포인트는 수준 매개 변수가 3으로 설정된 NetServerTransportAddEx 함수를 호출하고 bufptr 매개 변수가 svti3_flags 멤버에 설정된 SVTI2_SCOPED_NAME 비트 값이 있는 SERVER_TRANSPORT_INFO_3 구조를 가리켰습니다.
전송에 대해 SVTI2_SCOPED_NAME 비트 값을 설정한 경우 NetShareAdd 함수를 사용하여 범위가 지정된 방식으로 해당 서버 이름(SHARE_INFO_503 구조의 shi503_servername 멤버)을 사용하여 공유를 추가할 수 있습니다. SVTI2_SCOPED_NAME 비트 값과 shi503_servername멤버에 제공된 이름으로 등록된 전송이 없으면 범위가 지정된 방식으로 공유 추가가 성공하지 않습니다.
NetShareAdd 함수는 servername 매개 변수에 지정된 원격 서버에서 범위가 지정된 공유를 추가하는 데 사용됩니다. bufptr 매개 변수에 전달된 SHARE_INFO_503 shi503_servername 멤버에 지정된 원격 서버는 NetServerTransportAddEx 함수를 범위가 지정된 엔드포인트로 사용하여 전송 프로토콜에 바인딩되어야 합니다. SVTI2_SCOPED_NAME 플래그는 전송 프로토콜에 대한 SERVER_TRANSPORT_INFO_2 또는 SERVER_TRANSPORT_INFO_3 구조의 shi503_servername 멤버에 지정되어야 합니다. NetShareDelEx 함수는 범위가 지정된 공유를 삭제하는 데 사용됩니다. NetShareGetInfo 및 NetShareSetInfo 함수는 범위가 지정된 공유에 대한 정보를 가져와서 설정하는 데 사용됩니다.
범위가 지정된 엔드포인트는 일반적으로 클러스터 네임스페이스에서 사용됩니다.
요구 사항
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | lmserver.h(Lm.h 포함) |
라이브러리 | Netapi32.lib |
DLL | Netapi32.dll |