Compartir a través de


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
STATUS_INVALID_DEVICE_REQUEST
Ya existe un objeto custom-receive-transaction de una llamada Anterior a SerCx2CustomReceiveTransactionCreate.
STATUS_INFO_LENGTH_MISMATCH
El valor de CustomReceiveTransactionConfig->Size no es igual tamaño de(SERCX2_CUSTOM_RECEIVE_TRANSACTION_CONFIG).
STATUS_INVALID_PARAMETER
Un valor de parámetro no es válido. El autor de la llamada debe proporcionar evtSerCx2CustomReceiveTransactionStart y punteros de función EvtSerCx2CustomReceiveTransactionQueryProgress.
STATUS_INSUFFICIENT_RESOURCES
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

EvtCleanupCallback

EvtDestroyCallback

EvtSerCx2CustomReceiveTransactionQueryProgress

EvtSerCx2CustomReceiveTransactionStart

SERCX2CUSTOMRECEIVE

SERCX2CUSTOMRECEIVETRANSACTION

SERCX2_CUSTOM_RECEIVE_TRANSACTION_CONFIG

SERCX2_CUSTOM_RECEIVE_TRANSACTION_CONFIG_INIT

SerCx2CustomReceiveCreate

WDF_OBJECT_ATTRIBUTES

WDF_OBJECT_ATTRIBUTES_INIT