This interface is used to enumerate existing serial devices. It is implemented by the Serial Monitoring Control.
You obtain this interface by taking the value of the ISerialMonitor.Devices property and use it to enumerate the installed serial devices. There are two ways for using this interface. You can get the Count property value to get the number of devices in the collection and then use the Item property to get the IDevice interface for each device in a collection.
Another way of enumerating the devices in the collection is to take the value of the _NewEnum property to get the object exposing the IEnumVARIANT
interface and use its properties and methods to enumerate the collection.
Note that usually this process is somehow automated in scripting and CLR languages.
// This interface is not available in scripting environment
public interface IDeviceCollection
{
// Properties
IDevice this[object Index] { get; set; }
int Count { get; }
// Methods
IEnumerator GetEnumerator();
}
struct IDeviceCollection : IDispatch
{
// Properties
IDevicePtr Item(const _variant_t & Index); // get set
long Count; // get
// Methods
IUnknownPtr Get_NewEnum();
};
// This property is not available in scripting environment
IDevice this[object Index] { get; set; }
IDevicePtr Item(const _variant_t & Index); // get set
Returns the device from the collection.
// This property is not available in scripting environment
int Count { get; }
long Count; // get
Returns the total number of devices in a collection object.
// This method is not available in scripting environment
IEnumerator GetEnumerator();
IUnknownPtr Get_NewEnum();
Returns standard OLE enumerator for this object.