다음을 통해 공유


getservbyname 함수(winsock.h)

getservbyname 함수는 서비스 이름 및 프로토콜에 해당하는 서비스 정보를 검색합니다.

구문

servent * getservbyname(
  [in] const char *name,
  [in] const char *proto
);

매개 변수

[in] name

null로 종료된 서비스 이름에 대한 포인터입니다.

[in] proto

null로 종료된 프로토콜 이름에 대한 포인터입니다. 이 포인터가 NULL이면 getservbyname 함수는 이름이 servent 구조의 s_name 멤버 또는 servent 구조의 s_aliases 멤버와 일치하는 첫 번째 서비스 항목을 반환합니다. 그렇지 않으면 getservbyname이름과proto를 모두 일치합니다.

반환 값

오류가 발생하지 않으면 getservbynameservent 구조체에 대한 포인터를 반환합니다. 그렇지 않으면 null 포인터를 반환하고 WSAGetLastError를 호출하여 특정 오류 번호를 검색할 수 있습니다.

오류 코드 의미
WSANOTINITIALISED
이 함수를 사용하기 전에 성공적인 WSAStartup 호출이 발생해야 합니다.
WSAENETDOWN
네트워크 하위 시스템이 실패했습니다.
WSAHOST_NOT_FOUND
신뢰할 수 있는 응답 서비스를 찾을 수 없습니다.
WSATRY_AGAIN
인증되지 않은 서비스를 찾을 수 없거나 서버 오류가 발생했습니다.
WSANO_RECOVERY
복구할 수 없는 오류, 서비스 데이터베이스에 액세스할 수 없습니다.
WSANO_DATA
유효한 이름이며 요청된 형식의 데이터 레코드가 없습니다.
WSAEINPROGRESS
차단 Windows 소켓 1.1 호출이 진행 중이거나 서비스 공급자가 여전히 콜백 함수를 처리하고 있습니다.
WSAEINTR
WSACancelBlockingCall을 통해 차단 Windows 소켓 1.1 호출이 취소되었습니다.

설명

getservbyname 함수는 name 매개 변수의 문자열과 일치하는 이름 및 서비스 번호를 포함하는 servent 구조체에 대한 포인터를 반환합니다. 모든 문자열은 null로 종료됩니다.

반환되는 포인터는 Windows 소켓 라이브러리에서 할당한 서브트 구조를 가리킵니다. 애플리케이션은 이 구조를 수정하거나 해당 구성 요소를 해제하려고 시도해서는 안 됩니다. 또한 이 구조체의 복사본은 스레드당 하나만 할당되므로 애플리케이션은 다른 Windows Sockets 함수 호출을 실행하기 전에 필요한 정보를 복사해야 합니다.

Windows Phone 8: 이 함수는 Windows Phone 8 이상에서 Windows Phone 스토어 앱에서 지원됩니다.

Windows 8.1Windows Server 2012 R2: 이 함수는 Windows 8.1, Windows Server 2012 R2 이상에서 Windows 스토어 앱에서 지원됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8.1, Windows Vista [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 winsock.h(Winsock2.h 포함)
라이브러리 Ws2_32.lib
DLL Ws2_32.dll

추가 정보

WSAAsyncGetServByName

Winsock 함수

Winsock 참조

getservbyport