rskibbe.IO.Ports.Com 1.0.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package rskibbe.IO.Ports.Com --version 1.0.0                
NuGet\Install-Package rskibbe.IO.Ports.Com -Version 1.0.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="rskibbe.IO.Ports.Com" Version="1.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add rskibbe.IO.Ports.Com --version 1.0.0                
#r "nuget: rskibbe.IO.Ports.Com, 1.0.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install rskibbe.IO.Ports.Com as a Cake Addin
#addin nuget:?package=rskibbe.IO.Ports.Com&version=1.0.0

// Install rskibbe.IO.Ports.Com as a Cake Tool
#tool nuget:?package=rskibbe.IO.Ports.Com&version=1.0.0                

Description

An infrastructure package representing the base for virtual COM port registrations. Is used in for example rskibbe.IO.Ports.Com.Com0Com, which is an example implementation. Keep in mind, that virtual COM ports are always created as pairs, because a connection always consists of two endpoints.

Getting started

After Installation, just go ahead and import the corresponding namespace:

C#

using rskibbe.IO.Ports.Com;

Visual Basic .NET

Imports rskibbe.IO.Ports.Com

Now you are ready to write your own implementation of an IComPortRegister / ComPortRegisterBase.

Functions & Methods

The basic functionality which should be implemented is listed here / each IComPortRegister should be able to:

CreateVirtualPortsAsync()

This function should create a virtual port pair by the next COM port ids being available. It should return an implementation instance of IComPortRegistration. It should also throw an ComPortsRegistrationException if the registration failed.

CreateVirtualPorts(byte portIdA, byte portIdB)

This function should create a virtual port pair based on the provided ids. Ids 5 & 6 should result in COM5 & COM6 being created. It should return an implementation instance of IComPortRegistration. It should also throw a ComPortsRegistrationException if the registration failed.

RemoveVirtualPortsByNameAsync(string portNameAOrB)

This method should remove a registration (which consists of two ports / one port pair like COM5 & COM6) by providing either one of those port names. It should throw a ComPortsRemovalException, if it doesn't work.

RemoveAllVirtualPortsAsync()

This method should remove all registered virtual ports. It should throw a ComPortsRemovalException if one of the removals fails.

ListUsedPortNamesAsync()

This function should list / return all port names being used (therefore not being able to be registered).

It should retrieve every "used" port, not only the virtual ones.

ListUsedPortIdsAsync()

This function should list / return all port ids being used (therefore not being able to be registered). If COM5 & COM6 are in use, it should therefore return 5 & 6.

ListVirtualPortRegistrationsAsync()

This function should list all virtual registrations in effect by returning instances of implemented IComPortRegistration's.

ListUsedVirtualPortNamesAsync()

This function should return a list of all registered virtual port names.

ListUsedVirtualPortIdsAsync()

This function should return a list of all registered virtual port ids.

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net6.0

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on rskibbe.IO.Ports.Com:

Package Downloads
rskibbe.IO.Ports.Com.Virtual.Windows.Com0Com

A .NET wrapper package for the com0com null modem emulator binary. It helps creating, removing and listing virtual ports by using the com0com console app.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.6 403 11/13/2022
1.0.4 794 6/20/2022
1.0.3 949 6/20/2022
1.0.1 401 6/15/2022
1.0.0 406 6/15/2022