Win32_SerialPort

The Win32_SerialPort class represents a serial port on a Win32 system.

Quick Start

Properties

In this WMI class, all WMI properties are read-only. You can only read values but not change them.

Availability

Data type UInt16

The availability and status of the device. For example, the Availability property indicates that the device is running and has full power (value=3), or is in a warning (4), test (5), degraded (10) or power save state (values 13-15 and 17). Regarding the power saving states, these are defined as follows: Value 13 (“Power Save – Unknown”) indicates that the device is known to be in a power save mode, but its exact status in this mode is unknown; 14 (“Power Save – Low Power Mode”) indicates that the device is in a power save state but still functioning, and may exhibit degraded performance; 15 (“Power Save – Standby”) describes that the device is not functioning but could be brought to full power ‘quickly’; and value 17 (“Power Save – Warning”) indicates that the device is in a warning state, though also in a power save mode.

$Availability_ReturnValue = 
@{
    1='Other'
    2='Unknown'
    3='Running/Full Power'
    4='Warning'
    5='In Test'
    6='Not Applicable'
    7='Power Off'
    8='Off Line'
    9='Off Duty'
   10='Degraded'
   11='Not Installed'
   12='Install Error'
   13='Power Save - Unknown'
   14='Power Save - Low Power Mode'
   15='Power Save - Standby'
   16='Power Cycle'
   17='Power Save - Warning'
   18='Paused'
   19='Not Ready'
   20='Not Configured'
   21='Quiesced'
}

Binary

Data type Boolean

The Binary property indicates whether the serial port is configured for binary data transfer. Since the Win32 API does not support non-binary mode transfers, this property must be $true. Specifying $false will not work. Values: $true or $false. A value of $true indicates the serial port is configured for binary data transfer.

Capabilities

Data type UInt16

The Capabilities property defines chip level compatibility for the serial controller. Therefore, this property describes the buffering and other capabilities of the serial controller, that may be inherent in the chip hardware. The property is an enumerated integer.

$Capabilities_ReturnValue = 
@{
    1='Other'
    2='Unknown'
    3='XT/AT Compatible'
    4='16450 Compatible'
    5='16550 Compatible'
    6='16550A Compatible'
  160='8251 Compatible'
  161='8251FIFO Compatible'
}

CapabilityDescriptions

Data type String

An array of free-form strings providing more detailed explanations for any of the serial controller features indicated in the Capabilities array. Note, each entry of this array is related to the entry in the Capabilities array that is located at the same index.

Caption

Data type String

The Caption property is a short textual description (one-line string) of the object.

ConfigManagerErrorCode

Data type UInt32

Indicates the Win32 Configuration Manager error code. The following values may be returned:

0 This device is working properly.

1 This device is not configured correctly.

2 Windows cannot load the driver for this device.

3 The driver for this device might be corrupted, or your system may be running low on memory or other resources.

4 This device is not working properly. One of its drivers or your registry might be corrupted.

5 The driver for this device needs a resource that Windows cannot manage.

6 The boot configuration for this device conflicts with other devices.

7 Cannot filter.

8 The driver loader for the device is missing.

9 This device is not working properly because the controlling firmware is reporting the resources for the device incorrectly.

10 This device cannot start.

11 This device failed.

12 This device cannot find enough free resources that it can use.

13 Windows cannot verify this device’s resources.

14 This device cannot work properly until you restart your computer.

15 This device is not working properly because there is probably a re-enumeration problem.

16 Windows cannot identify all the resources this device uses.

17 This device is asking for an unknown resource type.

18 Reinstall the drivers for this device.

19 Your registry might be corrupted.

20 Failure using the VxD loader.

21 System failure: Try changing the driver for this device. If that does not work, see your hardware documentation. Windows is removing this device.

22 This device is disabled.

23 System failure: Try changing the driver for this device. If that doesn’t work, see your hardware documentation.

24 This device is not present, is not working properly, or does not have all its drivers installed.

25 Windows is still setting up this device.

26 Windows is still setting up this device.

27 This device does not have valid log configuration.

28 The drivers for this device are not installed.

29 This device is disabled because the firmware of the device did not give it the required resources.

30 This device is using an Interrupt Request (IRQ) resource that another device is using.

31 This device is not working properly because Windows cannot load the drivers required for this device.

$ConfigManagerErrorCode_ReturnValue = 
@{
    0='This device is working properly.'
    1='This device is not configured correctly.'
    2='Windows cannot load the driver for this device.'
    3='The driver for this device might be corrupted    4= or your system may be running low on memory or other resources.'

    5='This device is not working properly. One of its drivers or your registry might be corrupted.'
    6='The driver for this device needs a resource that Windows cannot manage.'
    7='The boot configuration for this device conflicts with other devices.'
    8='Cannot filter.'
    9='The driver loader for the device is missing.'
   10='This device is not working properly because the controlling firmware is reporting the resources for the device incorrectly.'
   11='This device cannot start.'
   12='This device failed.'
   13='This device cannot find enough free resources that it can use.'
   14='Windows cannot verify this device's resources.'    15='This device cannot work properly until you restart your computer.'    16='This device is not working properly because there is probably a re-enumeration problem.'    17='Windows cannot identify all the resources this device uses.'    18='This device is asking for an unknown resource type.'    19='Reinstall the drivers for this device.'    20='Failure using the VxD loader.'    21='Your registry might be corrupted.'    22='System failure: Try changing the driver for this device. If that does not work
   23= see your hardware documentation. Windows is removing this device.'    24='This device is disabled.'    25='System failure: Try changing the driver for this device. If that doesn't work    26= see your hardware documentation.'
   27='This device is not present   28= is not working properly
   29= or does not have all its drivers installed.'

   30='Windows is still setting up this device.'
   31='Windows is still setting up this device.'
}

ConfigManagerUserConfig

Data type Boolean

Indicates whether the device is using a user-defined configuration.

CreationClassName

Data type String

CreationClassName indicates the name of the class or the subclass used in the creation of an instance. When used with the other key properties of this class, this property allows all instances of this class and its subclasses to be uniquely identified.

Description

Data type String

The Description property provides a textual description of the object.

DeviceID

Data type String

The DeviceID property contains a string uniquely identifying the serial port with other devices on the system.

ErrorCleared

Data type Boolean

ErrorCleared is a boolean property indicating that the error reported in LastErrorCode property is now cleared.

ErrorDescription

Data type String

ErrorDescription is a free-form string supplying more information about the error recorded in LastErrorCode property, and information on any corrective actions that may be taken.

InstallDate

Data type DateTime

The InstallDate property is datetime value indicating when the object was installed. A lack of a value does not indicate that the object is not installed.

LastErrorCode

Data type UInt32

LastErrorCode captures the last error code reported by the logical device.

MaxBaudRate

Data type UInt32

Maximum baud rate in bits per second supported by the SerialController.

MaximumInputBufferSize

Data type UInt32

The MaximumInputBufferSize property specifies the maximum size of the serial port driver’s internal input buffer. A value of zero indicates that no maximum value is imposed by the serial provider.

MaximumOutputBufferSize

Data type UInt32

The MaximumOutputBufferSize property specifies the maximum size of the serial port driver’s internal output buffer. A value of zero indicates that no maximum value is imposed by the serial provider.

MaxNumberControlled

Data type UInt32

Maximum number of directly addressable entities supported by this Controller. A value of 0 should be used if the number is unknown or unlimited.

Name

Data type String

The Name property defines the label by which the object is known. When subclassed, the Name property can be overridden to be a Key property.

OSAutoDiscovered

Data type Boolean

The OSAutoDiscovered property distinguishes the instances of this class that were automatically discovered by the operating system. If, for example, hardware was added through the Control Panel, the operating system finds instances of this class by querying hardware from the instances of this class. A value of $true indicates that the instance was automatically discovered.

PNPDeviceID

Data type String

Indicates the Win32 Plug and Play device ID of the logical device. Example: *PNP030b

PowerManagementCapabilities

Data type UInt16

Indicates the specific power-related capabilities of the logical device. The array values, 0=”Unknown”, 1=”Not Supported” and 2=”Disabled” are self-explanatory. The value, 3=”Enabled” indicates that the power management features are currently enabled but the exact feature set is unknown or the information is unavailable. “Power Saving Modes Entered Automatically” (4) describes that a device can change its power state based on usage or other criteria. “Power State Settable” (5) indicates that the SetPowerState method is supported. “Power Cycling Supported” (6) indicates that the SetPowerState method can be invoked with the PowerState input variable set to 5 (“Power Cycle”). “Timed Power On Supported” (7) indicates that the SetPowerState method can be invoked with the PowerState input variable set to 5 (“Power Cycle”) and the Time parameter set to a specific date and time, or interval, for power-on.

PowerManagementSupported

Data type Boolean

Boolean indicating that the Device can be power managed – ie, put into a power save state. This boolean does not indicate that power management features are currently enabled, or if enabled, what features are supported. Refer to the PowerManagementCapabilities array for this information. If this boolean is $false, the integer value 1, for the string, “Not Supported”, should be the only entry in the PowerManagementCapabilities array.

PowerState

Data type UInt16

$PowerState_ReturnValue = 
@{
    1=
    2='(unknown)'
    3='(unknown)'
    4='(unknown)'
    5='(unknown)'
    6='(unknown)'
}

ProtocolSupported

Data type UInt16

The protocol used by the controller to access ‘controlled’ devices.

$ProtocolSupported_ReturnValue = 
@{
    1='Other'
    2='Unknown'
    3='EISA'
    4='ISA'
    5='PCI'
    6='ATA/ATAPI'
    7='Flexible Diskette'
    8='1496'
    9='SCSI Parallel Interface'
   10='SCSI Fibre Channel Protocol'
   11='SCSI Serial Bus Protocol'
   12='SCSI Serial Bus Protocol-2 (1394)'
   13='SCSI Serial Storage Architecture'
   14='VESA'
   15='PCMCIA'
   16='Universal Serial Bus'
   17='Parallel Protocol'
   18='ESCON'
   19='Diagnostic'
   20='I2C'
   21='Power'
   22='HIPPI'
   23='MultiBus'
   24='VME'
   25='IPI'
   26='IEEE-488'
   27='RS232'
   28='IEEE 802.3 10BASE5'
   29='IEEE 802.3 10BASE2'
   30='IEEE 802.3 1BASE5'
   31='IEEE 802.3 10BROAD36'
   32='IEEE 802.3 100BASEVG'
   33='IEEE 802.5 Token-Ring'
   34='ANSI X3T9.5 FDDI'
   35='MCA'
   36='ESDI'
   37='IDE'
   38='CMD'
   39='ST506'
   40='DSSI'
   41='QIC2'
   42='Enhanced ATA/IDE'
   43='AGP'
   44='TWIRP (two-way infrared)'
   45='FIR (fast infrared)'
   46='SIR (serial infrared)'
   47='IrBus'
}

ProviderType

Data type String

The ProviderType property specifies the communications provider type.

SettableBaudRate

Data type Boolean

The SettableBaudRate property indicates whether the baud rate can be changed for this serial port.

Values: $true or $false. A value of $true indicates the baud rate can be changed.

SettableDataBits

Data type Boolean

The SettableDataBits property indicates whether data bits can be set for this serial port.

Values: $true or $false. A value of $true indicates the data bits can be set.

SettableFlowControl

Data type Boolean

The SettableFlowControl property indicates whether flow control can be set for this serial port.

Values: $true or $false. A value of $true indicates the flow control can be set.

SettableParity

Data type Boolean

The SettableParity property indicates whether parity can be set for this serial port.

Values: $true or $false. A value of $true indicates the parity can be set.

SettableParityCheck

Data type Boolean

The SettableParityCheck property indicates whether parity checking can be set for this serial port (if parity checking is supported).

Values: $true or $false. A value of $true indicates parity checking can be set.

SettableRLSD

Data type Boolean

The SettableRLSD property indicates whether RLSD can be set for this serial port (if Received Line Signal Detect (RLSD) is supported).

Values: $true or $false. A value of $true indicates the RLSD can be set.

SettableStopBits

Data type Boolean

The SettableStopBits property indicates whether stop bits can be set for this serial port.

Values: $true or $false. A value of $true indicates the stop bits can be set.

Status

Data type String

The Status property is a string indicating the current status of the object. Various operational and non-operational statuses can be defined. Operational statuses are “OK”, “Degraded” and “Pred Fail”. “Pred Fail” indicates that an element may be functioning properly but predicting a failure in the near future. An example is a SMART-enabled hard drive. Non-operational statuses can also be specified. These are “Error”, “Starting”, “Stopping” and “Service”. The latter, “Service”, could apply during mirror-resilvering of a disk, reload of a user permissions list, or other administrative work. Not all such work is on-line, yet the managed element is neither “OK” nor in one of the other states.

'OK','Error','Degraded','Unknown','Pred Fail','Starting','Stopping','Service','Stressed','NonRecover','No Contact','Lost Comm'

StatusInfo

Data type UInt16

StatusInfo is a string indicating whether the logical device is in an enabled (value = 3), disabled (value = 4) or some other (1) or unknown (2) state. If this property does not apply to the logical device, the value, 5 (“Not Applicable”), should be used.

$StatusInfo_ReturnValue = 
@{
    1='Other'
    2='Unknown'
    3='Enabled'
    4='Disabled'
    5='Not Applicable'
}

Supports16BitMode

Data type Boolean

The Supports16BitMode property indicates whether 16-bit mode is supported on this serial port.

Values: $true or $false. A value of $true indicates 16-bit mode is supported.

SupportsDTRDSR

Data type Boolean

The SupportsDTRDSR property indicates whether Data Terminal Ready (DTR) and Data Set Ready (DSR) signals are supported on this serial port.

Values: $true or $false. A value of $true indicates DTR and DSR signals are supported.

SupportsElapsedTimeouts

Data type Boolean

The SupportsElapsedTimeouts property indicates whether elapsed timeouts are supported on this serial port. Elapsed timeouts track the total amount of time between data transmissions.

Values: $true or $false. A value of $true indicates elapsed timeouts are supported.

SupportsIntTimeouts

Data type Boolean

The SupportsIntTimeouts property indicates whether interval time-outs are supported. An interval timeout is the amount of time allowed to elapse between the arrival of each piece of data.

Values: $true or $false. A value of $true indicates interval timeouts are supported.

SupportsParityCheck

Data type Boolean

The SupportsParityCheck property indicates whether parity checking is supported on this serial port.

Values: $true or $false. A value of $true indicates parity checking is supported.

SupportsRLSD

Data type Boolean

The SupportsRLSD property indicates whether Received Line Signal Detect (RLSD) is supported on this serial port.

Values: $true or $false. A value of $true indicates RLSD is supported.

SupportsRTSCTS

Data type Boolean

The SupportsRTSCTS property indicates whether Ready To Send (RTS) and Clear To Send (CTS) signals are supported on this serial port.

Values: $true or $false. A value of $true indicates RTS and CTS signals are supported.

SupportsSpecialCharacters

Data type Boolean

The SupportsSpecialCharacters property indicates whether serial port control characters are supported. These characters signal events rather than data. These characters are not displayable and are set by the driver. They include EofChar, ErrorChar, BreakChar, EventChar, XonChar, and XoffChar.

Values: $true or $false. A value of $true indicates special characters are supported.

SupportsXOnXOff

Data type Boolean

The SupportsXOnXOff property indicates whether XON/XOFF flow control is supported on this serial port.

Values: $true or $false. A value of $true indicates XON/XOFF is supported.

SupportsXOnXOffSet

Data type Boolean

The SupportsXOnXOffSet property indicates whether the communications provider supports configuration of the XON/XOFF flow control setting.

Values: $true or $false. A value of $true indicates XON/XOFF flow control setting is supported.

SystemCreationClassName

Data type String

The scoping System’s CreationClassName.

SystemName

Data type String

The scoping System’s Name.

Time

Data type DateTime

TimeOfLastReset

Data type DateTime

The TimeOfLastReset property indicates the date and time this controller was last reset. This could mean the controller was powered down, or reinitialized.

Methods

Examples

See Also

Help and Questions

  Community Content

You are cordially invited to add knowledge to this page. If you have sample code or additional information related to this WMI class, please share it. Use the comment form to send your information. We will edit and incorparate it into the reference library. Thank you!

Please do not use the comment form to submit questions. If you have questions or need assistance, visit our free forum: Help me with WMI.

Content last updated: 2013-12-27 12:14:54 (UTC).

Facebooktwittergoogle_pluspinterestlinkedinFacebooktwittergoogle_pluspinterestlinkedin