A SERCX2CUSTOMTRANSMITTRANSACTION object handle is an opaque reference to a custom-transmit-transaction object in version 2 of the serial framework extension (SerCx2).
The SerCx2CustomTransmitTransactionCreate method creates a custom-transmit-transaction object. SerCx2 uses this object to manage I/O transactions that use a custom data-transfer mechanism to write data to the serial controller. This object is opaque to serial controller drivers. SerCx2CustomTransmitTransactionCreate supplies, as an output parameter, a SERCX2CUSTOMTRANSMITTRANSACTION handle to the newly created custom-transmit-transaction object. SerCx2 and the serial controller driver use this handle to refer to the object in subsequent custom-transmit transactions. For more information, see SerCx2 Custom-Transmit Transactions.
After SerCx2CustomTransmitTransactionCreate creates the custom-transmit-transaction object, this object exists for the lifetime of the framework device object that represents the serial controller device. The custom-transmit-transaction object is automatically deleted when the device object is deleted. The serial controller driver must not try to delete the custom-transmit-transaction object by calling a method such as WdfObjectDelete.
A serial controller driver can, as an option, create a custom-transmit-transaction object, but can create no more than one such object. The driver can create this object only under the following conditions:
- The driver previously created a PIO-transmit object.
- The driver previously created a custom-transmit object.
Despite the similar lifetimes of custom-transmit and custom-transmit-transaction objects, these are defined as separate object types (and not combined into one type) to support the possible future expansion of the SerCx2 device driver interface.