Función SerCx2CustomTransmitTransmitTransactionCreate (sercx.h)
El método SerCx2CustomTransmitTransactionCreate crea un objeto custom-transmit-transaction, que la versión 2 de la extensión de marco de serie (SerCx2) usa para realizar transacciones de transmisión personalizadas.
Sintaxis
NTSTATUS SerCx2CustomTransmitTransactionCreate(
[in] SERCX2CUSTOMTRANSMIT CustomTransmit,
[in] PSERCX2_CUSTOM_TRANSMIT_TRANSACTION_CONFIG CustomTransmitTransactionConfig,
[in] PWDF_OBJECT_ATTRIBUTES Attributes,
[out] SERCX2CUSTOMTRANSMITTRANSACTION *CustomTransmitTransaction
);
Parámetros
[in] CustomTransmit
Identificador de SERCX2CUSTOMTRANSMIT a un objeto de transmisión personalizado. El controlador de controlador serie anteriormente llamó al método SerCx2CustomTransmitCreate para crear este objeto.
[in] CustomTransmitTransactionConfig
Puntero a una estructura SERCX2_CUSTOM_TRANSMIT_TRANSACTION_CONFIG. Antes de llamar a este método, el autor de la llamada debe llamar a la función SERCX2_CUSTOM_TRANSMIT_TRANSACTION_CONFIG_INIT para inicializar la estructura. Esta estructura contiene punteros a un conjunto de rutinas de devolución de llamada de eventos implementadas por el controlador del controlador serie. SerCx2 llama a estas funciones para realizar una transacción de E/S que usa el mecanismo de transferencia de datos personalizado para escribir datos en el controlador serie que se va a transmitir.
[in] Attributes
Puntero a una estructura WDF_OBJECT_ATTRIBUTES que describe los atributos que se van a asignar al nuevo objeto custom-transmit-transaction. Antes de llamar a este método, el autor de la llamada debe llamar a la función WDF_OBJECT_ATTRIBUTES_INIT para inicializar la estructura. Este parámetro es opcional y se puede especificar como WDF_NO_OBJECT_ATTRIBUTES si el controlador del controlador serie no necesita asignar atributos al objeto . Para obtener más información, vea Comentarios.
[out] CustomTransmitTransaction
Puntero a una ubicación a la que este método escribe un identificador de SERCX2CUSTOMTRANSMITTRANSACTION en el objeto custom-transmit-transaction recién creado. SerCx2 y el controlador del controlador serie usan este identificador en llamadas posteriores para hacer referencia a este objeto.
Valor devuelto
Este método devuelve STATUS_SUCCESS si la llamada se realiza correctamente. Entre los posibles valores devueltos de error se incluyen los siguientes códigos de estado.
Código devuelto | Descripción |
---|---|
|
Ya existe un objeto custom-transmit-transaction a partir de una llamada anterior a SerCx2CustomTransmitTransactionCreate. |
|
El valor CustomTransmitTransactionConfig->Size no es igual tamaño de(SERCX2_CUSTOM_TRANSMIT_TRANSACTION_CONFIG). |
|
Un valor de parámetro no es válido. El autor de la llamada debe proporcionar un puntero de función válido |
|
Hay recursos insuficientes disponibles para crear el objeto custom-transmit-transaction. |
Observaciones
El controlador de controlador serie puede llamar a este método para crear un objeto custom-transmit-transaction. SerCx2 usa este objeto para administrar transacciones de transmisión personalizadas, que son transacciones de E/S que usan un mecanismo de transferencia de datos personalizado para escribir datos en el controlador serie que se va a transmitir.
Como opción, un controlador de controlador serie puede usar el parámetro Attributes para crear un contexto para el objeto de transmisión personalizada y proporcionar punteros a EvtCleanupCallback y EvtDestroyCallback funciones a las que se llama para preparar el objeto para su eliminación. Para obtener más información, vea WDF_OBJECT_ATTRIBUTES.
Si el parámetro Attributes apunta a una estructura WDF_OBJECT_ATTRIBUTES, el autor de la llamada no debe sobrescribir los valores que escribe la función de inicialización WDF_OBJECT_ATTRIBUTES_INIT en el ParentObject, ExecutionLevely SynchronizationScope miembros de esta estructura.
Si la combinación especificada de funciones de devolución de llamada implementadas no es válida, se produce un error serCx2CustomTransmitTransactionCreate y devuelve STATUS_INVALID_PARAMETER.
Para obtener más información sobre cómo crear objetos custom-transmit-transaction, vea SERCX2CUSTOMTRANSMITTRANSACTION. Para obtener más información sobre las transacciones de transmisión personalizadas, vea SerCx2 Custom-Transmit Transactions.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Disponible a partir de Windows 8.1. |
de la plataforma de destino de |
Universal |
encabezado de |
sercx.h |
irQL | PASSIVE_LEVEL |
Consulte también
EvtSerCx2CustomTransmitTransactionStart
SERCX2CUSTOMTRANSMITTRANSACTION
SERCX2_CUSTOM_TRANSMIT_TRANSACTION_CONFIG