SERIAL.VXD calls ACQUIRE_RESOURCE with ACQUIRE_STEAL. This will steal ports owned by VMs, if allowed by the user in Control Panel.
When it receives a RESOURCE_STEAL_REQUEST notification, SERIAL.VXD saves the state of the COM port and returns TRUE.
Unlike LPT.VXD, SERIAL.VXD does not periodically attempt to steal back the port by calling STEAL_RESOURCE. Rather, it does this in response to a call from VCOMM on behalf of the device's client. This still enables it to share a port with a VM.