---
title: roUPnPService
slug: develop/roupnpservice
docTags: 
createdAt: 2025-03-26T17:42:09.841Z
---

This object is returned by the `GetServces()` and `GetService()` methods on the roUPnPDevice object.

## ifUPnPService

**Invoke(actionName As String, params As Object) As Integer**

Invokes an action asynchronously on the UPnP service. This method returns a transaction ID that can be used to match it against the associated roUPnPActionResult instance.

**Subscribe() As Integer**

Subscribes to events on the UPnP service asynchronously.

**RenewSubscription() As Integer**

Resubscribes to events on the UPnP service asynchronously. This method should only be called after calling `Subscribe()`.

**GetSID() As String**

Returns the subscription ID. This method should only be called after calling `Subscribe()`.

**GetTimeout() As Integer**

Returns the service timeout period. This method should only be called after calling `Subscribe()`.

## ifMessagePort

**SetPort(port As roMessagePort)**

Specifies the port that will receive events generated by the roUPnPService instance.

## ifUserData

**SetUserData(user\_data As Object)**

Sets the user data that will be returned when events are raised.

**GetUserData() As Object**

Returns the user data that has previously been set via SetUserData(). It will return `Invalid` if no data has been set.

