다음을 통해 공유


SetServiceA 함수(nspapi.h)

SetService 함수는 하나 이상의 네임스페이스 내에서 네트워크 서비스를 레지스트리에서 등록하거나 제거합니다. 함수는 하나 이상의 네임스페이스 내에서 네트워크 서비스 유형을 추가하거나 제거할 수도 있습니다.

참고SetService 함수는 사용되지 않습니다. 프로토콜 독립적 이름 확인에 자세히 설명된 함수는 Windows 소켓 2에서 동등한 기능을 제공합니다. Windows Sockets 1.1 개발자의 편의를 위해 참조 자료는 다음과 같습니다.
 

구문

INT SetServiceA(
  [in]           DWORD                dwNameSpace,
  [in]           DWORD                dwOperation,
  [in]           DWORD                dwFlags,
  [in]           LPSERVICE_INFOA      lpServiceInfo,
  [in, optional] LPSERVICE_ASYNC_INFO lpServiceAsyncInfo,
  [out]          LPDWORD              lpdwStatusFlags
);

매개 변수

[in] dwNameSpace

함수가 작동하는 네임스페이스 또는 기본 네임스페이스 집합입니다.

다음 상수 중 하나를 사용하여 네임스페이스를 지정합니다.

의미
NS_DEFAULT
기본 네임스페이스 집합입니다. 함수는 이 집합 내의 각 네임스페이스를 쿼리합니다. 기본 네임스페이스 집합에는 일반적으로 시스템에 설치된 모든 네임스페이스가 포함됩니다. 그러나 시스템 관리자는 집합에서 특정 네임스페이스를 제외할 수 있습니다. NS_DEFAULT 대부분의 애플리케이션이 dwNameSpace에 사용해야 하는 값입니다.
NS_DNS
인터넷에서 호스트 이름을 resolve 데 사용되는 도메인 이름 시스템입니다.
NS_NDS
NetWare 4 공급자입니다.
NS_NETBT
TCP/IP 계층을 통해 NetBIOS. 모든 Windows 시스템은 NetBIOS에 컴퓨터 이름을 등록합니다. 이 네임스페이스는 컴퓨터 이름을 이 등록을 사용하는 IP 주소로 변환하는 데 사용됩니다.
NS_SAP
NetWare Service Advertising Protocol입니다. 적절한 경우 NetWare 바인더리에 액세스할 수 있습니다. NS_SAP 서비스를 등록할 수 있는 동적 네임스페이스입니다.
NS_TCPIP_HOSTS
systemroot>\system32\drivers\etc\posts 파일의 조회 값<입니다.
NS_TCPIP_LOCAL
로컬 호스트 이름 및 호스트 캐시의 조회 값과 IP 주소 매핑에 대한 비교를 포함하여 로컬 TCP/IP 이름 확인 메커니즘.

[in] dwOperation

함수가 수행할 작업입니다. 다음 값 중 하나를 사용하여 작업을 지정합니다.

의미
SERVICE_REGISTER
네임스페이스에 네트워크 서비스를 등록합니다. 이 작업은 SERVICE_FLAG_DEFER 및 SERVICE_FLAG_HARD 비트 플래그와 함께 사용할 수 있습니다.
SERVICE_DEREGISTER
네임스페이스에서 네트워크 서비스를 레지스트리에서 제거합니다. 이 작업은 SERVICE_FLAG_DEFER 및 SERVICE_FLAG_HARD 비트 플래그와 함께 사용할 수 있습니다.
SERVICE_FLUSH
SERVICE_FLAG_DEFER 비트 플래그를 1로 설정하여 호출된 작업을 수행합니다.
SERVICE_ADD_TYPE
네임스페이스에 서비스 유형을 추가합니다.

이 작업의 경우 lpServiceInfo가 가리키는 SERVICE_INFO 구조체의 ServiceSpecificInfo 멤버를 사용하여 SERVICE_TYPE_INFO_ABS 구조를 전달합니다. 또한 SERVICE_INFO 구조체의 ServiceType 멤버를 설정해야 합니다. 다른 SERVICE_INFO 멤버는 무시됩니다.

SERVICE_DELETE_TYPE
네임스페이스에서 SERVICE_ADD_TYPE 작업을 지정하는 이전 호출에 의해 추가된 서비스 유형을 제거합니다.

[in] dwFlags

함수의 작업을 수정하는 비트 플래그 집합입니다. 다음 비트 플래그 중 하나 이상을 설정할 수 있습니다.

의미
SERVICE_FLAG_DEFER
이 비트 플래그는 작업이 SERVICE_REGISTER 또는 SERVICE_DEREGISTER 경우에만 유효합니다.

이 비트 플래그가 하나이고 유효한 경우 네임스페이스 공급자는 SERVICE_FLUSH 작업이 요청될 때까지 등록 또는 등록 취소 작업을 연기해야 합니다.

SERVICE_FLAG_HARD
이 비트 플래그는 작업이 SERVICE_REGISTER 또는 SERVICE_DEREGISTER 경우에만 유효합니다.

이 비트 플래그가 하나이고 유효한 경우 네임스페이스 공급자는 작업을 수행할 때 관련 영구 저장소 정보를 업데이트합니다.

예: 작업에 영구 저장소를 사용하는 네임스페이스의 등록 취소가 포함된 경우 네임스페이스 공급자는 관련 영구 저장소 정보를 제거합니다.

[in] lpServiceInfo

네트워크 서비스 또는 서비스 유형에 대한 정보를 포함하는 SERVICE_INFO 구조체에 대한 포인터입니다.

[in, optional] lpServiceAsyncInfo

다음에 사용하도록 예약됩니다. NULL로 설정해야 합니다.

[out] lpdwStatusFlags

함수 상태 정보를 수신하는 비트 플래그 집합입니다. 다음 비트 플래그가 정의됩니다.

의미
SET_SERVICE_ PARTIAL_SUCCESS
하나 이상의 네임스페이스 공급자가 요청된 작업을 성공적으로 수행할 수 없습니다.

반환 값

함수가 실패하면 반환 값이 SOCKET_ERROR. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다. GetLastError 는 다음과 같은 확장된 오류 값을 반환할 수 있습니다.

오류 코드 의미
ERROR_ALREADY_ 등록됨
함수가 이미 등록된 서비스를 등록하려고 했습니다.

설명

참고

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

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 nspapi.h
라이브러리 Mswsock.lib
DLL Mswsock.dll

추가 정보

GetService

SERVICE_INFO

SERVICE_TYPE_INFO_ABS

Winsock 함수

Winsock 참조