CFNetServiceRegister
Makes a CFNetService available on the network.
Declaration
extern Boolean CFNetServiceRegister(CFNetServiceRef theService, CFStreamError *error);Parameters
- theService:
The CFNetService to register; cannot be
NULL. The registration will fail if the service doesn’t have a domain, a type, a name, and an IP address. - error:
A pointer to a doc://com.apple.documentation/documentation/corefoundation/cfstreamerror structure that will be set to an error code and the error code’s domain if an error occurs; or
NULLif you don’t want to receive the error code and its domain.
Return Value
TRUE if an asynchronous service registration was started; FALSE if an asynchronous or synchronous registration failed or if a synchronous registration was canceled.
Discussion
If the service is to run in asynchronous mode, you must call CFNetServiceSetClient(_:_:_:) to associate a callback function with this CFNetService before calling this function.
When registering a service that runs in asynchronous mode, this function returns TRUE if the service contains all of the required attributes and the registration process can start. If the registration process completes successfully, the service is available on the network until you shut down the service by calling CFNetServiceUnscheduleFromRunLoop(_:_:_:), CFNetServiceSetClient(_:_:_:), and CFNetServiceCancel(_:). If the service does not contain all of the required attributes or if the registration process does not complete successfully, this function returns FALSE.
When registering a service that runs in synchronous mode, this function blocks until an error occurs, in which case this function returns FALSE. Until this function returns FALSE, the service is available on the network. To force this function to return FALSE, thereby shutting down the service, call CFNetServiceCancel(_:) from another thread.
Special Considerations
This function is thread safe.
See Also
Network Services
CFNetServiceCFNetServiceBrowserCFNetServiceBrowserFlagsCFNetServiceMonitorCFNetServiceMonitorTypeCFNetServiceClientContextCFNetServiceRegisterFlagsCFNetServicesErrorCFNetServiceBrowserInvalidate(_:)CFNetServiceBrowserScheduleWithRunLoop(_:_:_:)CFNetServiceBrowserCreate(_:_:_:)CFNetServiceBrowserGetTypeID()CFNetServiceBrowserSearchForDomains(_:_:_:)CFNetServiceBrowserSearchForServices(_:_:_:_:)CFNetServiceBrowserStopSearch(_:_:)