Important The SetService function is obsolete. For the convenience of Windows Sockets 1.1 developers, the reference material is below.
The functions detailed in Protocol-Independent Name Resolution provide equivalent functionality in Windows Sockets 2.
The SetService function registers or deregisters a network service within one or more name spaces. The function can also add or remove a network service type within one or more name spaces.
INT SetService(
DWORD dwNameSpace, // specifies name space(s) to operate within
DWORD dwOperation, // specifies operation to perform
DWORD dwFlags, // set of bit flags that modify function
// operation
LPSERVICE_INFO lpServiceInfo,
// points to structure containing service
// information
LPSERVICE_ASYNC_INFO lpServiceAsyncInfo,
// reserved for future use, must be NULL
LPDWORD lpdwStatusFlags
// points to set of status bit flags
);
Use one of the following constants to specify a name space:
Value | Name Space |
---|---|
NS_DEFAULT | A set of default name spaces. The function queries each name space within this set. The set of default name spaces typically includes all the name spaces installed on the system. System administrators, however, can exclude particular name spaces from the set. NS_DEFAULT is the value that most applications should use for dwNameSpace. |
NS_DNS | The Domain Name System used in the Internet to resolve the name of the host. |
NS_NDS | The NetWare 4 provider. |
NS_NETBT | The NetBIOS over TCP/IP layer. All Windows NT and Windows 95 systems register their computer names with NetBIOS. This name space is used to convert a computer name to an IP address that uses this registration. |
NS_SAP | The NetWare Service Advertising Protocol. This can access the Netware bindery, if appropriate. NS_SAP is a dynamic name space that enables the registration of services. |
NS_TCPIP_HOSTS | Lookup value in the <systemroot>\system32\drivers\etc\posts file. |
NS_TCPIP_LOCAL | Local TCP/IP name resolution mechanisms, including comparisons against the local host name and lookup value in the cache of host to IP address mappings. |
Value | Meaning |
---|---|
SERVICE_REGISTER | Register the network service with the name space. This operation can be used with the SERVICE_FLAG_DEFER and SERVICE_FLAG_HARD bit flags. |
SERVICE_DEREGISTER | Deregister the network service from the name space. This operation can be used with the SERVICE_FLAG_DEFER and SERVICE_FLAG_HARD bit flags. |
SERVICE_FLUSH | Perform any operation that was called with the SERVICE_FLAG_DEFER bit flag set to one. |
SERVICE_ADD_TYPE | Add a service type to the name space. For this operation, use the ServiceSpecificInfo member of the SERVICE_INFO structure pointed to by lpServiceInfo to pass a SERVICE_TYPE_INFO_ABS structure. You must also set the ServiceType member of the SERVICE_INFO structure. Other SERVICE_INFO members are ignored. |
SERVICE_DELETE_TYPE | Remove a service type, added by a previous call specifying the SERVICE_ADD_TYPE operation, from the name space. |
Value | Name Space |
---|---|
SERVICE_FLAG_DEFER | This bit flag is valid only if the operation is SERVICE_REGISTER or SERVICE_DEREGISTER. If this bit flag is one, and it is valid, the name-space provider should defer the registration or deregistration operation until a SERVICE_FLUSH operation is requested. |
SERVICE_FLAG_HARD | This bit flag is valid only if the operation is SERVICE_REGISTER or SERVICE_DEREGISTER. If this bit flag is one, and it is valid, the name-space provider updates any relevant persistent store information when the operation is performed. For example: If the operation involves deregistration in a name space that uses a persistent store, the name-space provider would remove the relevant persistent store information. |
Value | Meaning |
---|---|
SET_SERVICE_PARTIAL_SUCCESS | One or more name-space providers were unable to successfully perform the requested operation. |
If the function succeeds, the return value is not SOCKET_ERROR.
If the function fails, the return value is SOCKET_ERROR. To get extended error information, call GetLastError. GetLastError can return the following extended error value:
Value | Meaning |
---|---|
ERROR_ALREADY_REGISTERED | The function tried to register a service that was already registered. |
Windows NT: Yes
Windows CE: Unsupported.
Header: Declared in nspapi.h.
Import Library: Link with wsock32.lib.
GetService, SERVICE_INFO, SERVICE_TYPE_INFO_ABS