Función SerCx2CustomReceiveTransactionCreate (sercx.h)
El método SerCx2CustomReceiveTransactionCreate crea un objeto custom-receive-transaction, que la versión 2 de la extensión de marco serie (SerCx2) usa para realizar transacciones de recepción personalizadas.
Sintaxis
NTSTATUS SerCx2CustomReceiveTransactionCreate(
[in] SERCX2CUSTOMRECEIVE CustomReceive,
[in] PSERCX2_CUSTOM_RECEIVE_TRANSACTION_CONFIG CustomReceiveTransactionConfig,
[in] PWDF_OBJECT_ATTRIBUTES Attributes,
[out] SERCX2CUSTOMRECEIVETRANSACTION *CustomReceiveTransaction
);
Parámetros
[in] CustomReceive
Identificador de SERCX2CUSTOMRECEIVE a un objeto de recepción personalizado. El controlador de controlador serie anteriormente llamó al método SerCx2CustomReceiveCreate para crear este objeto.
[in] CustomReceiveTransactionConfig
Puntero a una estructura SERCX2_CUSTOM_RECEIVE_TRANSACTION_CONFIG. Antes de llamar a este método, el autor de la llamada debe llamar a la función SERCX2_CUSTOM_RECEIVE_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 leer los datos recibidos por el controlador serie.
[in] Attributes
Puntero a una estructura WDF_OBJECT_ATTRIBUTES que describe los atributos que se van a asignar al nuevo objeto custom-receive-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] CustomReceiveTransaction
Puntero a una ubicación en la que este método escribe un identificador de SERCX2CUSTOMRECEIVETRANSACTION en el objeto custom-receive-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-receive-transaction de una llamada Anterior a SerCx2CustomReceiveTransactionCreate. |
|
El valor de CustomReceiveTransactionConfig->Size no es igual tamaño de(SERCX2_CUSTOM_RECEIVE_TRANSACTION_CONFIG). |
|
Un valor de parámetro no es válido. El autor de la llamada debe proporcionar evtSerCx2CustomReceiveTransactionStart y punteros de función EvtSerCx2CustomReceiveTransactionQueryProgress. |
|
Hay recursos insuficientes disponibles para crear el objeto custom-receive-transaction. |
Observaciones
El controlador de controlador serie puede llamar a este método para crear un objeto custom-receive-transaction. SerCx2 usa este objeto para administrar transacciones de recepción personalizadas, que son transacciones de E/S que usan un mecanismo de transferencia de datos personalizado para leer los datos recibidos por el controlador serie.
Como opción, un controlador de controlador serie puede usar el parámetro Attributes para crear un contexto para el objeto de recepció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 en la llamada SerCx2CustomReceiveTransactionCreate y devuelve STATUS_INVALID_PARAMETER.
Para obtener más información sobre cómo crear objetos custom-receive-transaction, vea SERCX2CUSTOMRECEIVETRANSACTION. Para obtener más información sobre las transacciones de recepción personalizadas, consulte SerCx2 Custom-Receive 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
EvtSerCx2CustomReceiveTransactionQueryProgress
EvtSerCx2CustomReceiveTransactionStart
SERCX2CUSTOMRECEIVETRANSACTION
SERCX2_CUSTOM_RECEIVE_TRANSACTION_CONFIG