Each BacnetDevice and BacnetWsDevice has its own virtual gateway, at the same level as its device extensions (Points, Schedules, and so on).
Accessing components under this gateway dynamically adds them as virtual points while they are subscribed, but they exist only in memory (are not persisted in the station database like proxy points). When virtual points become unsubscribed, they driver automatically removes them from the station database.
Expanding a BacnetVirtualGateway results in a list of the device’s BACnet objects. Each is a BacnetVirtualObject that contains a number of BACnetVirtualProperty components to represent its properties. Thus, virtual points are at the object, property level.