EVT_SERCX2_CUSTOM_RECEIVE_TRANSACTION_INITIALIZE función de devolución de llamada (sercx.h)
La función de devolución de llamada de evento evtSerCx2CustomReceiveTransactionInitialize llama a la función de devolución de llamada de eventos de la versión 2 de la extensión del marco serie (SerCx2) para preparar el hardware del controlador serie para realizar una nueva transacción de recepción personalizada.
Sintaxis
EVT_SERCX2_CUSTOM_RECEIVE_TRANSACTION_INITIALIZE EvtSercx2CustomReceiveTransactionInitialize;
void EvtSercx2CustomReceiveTransactionInitialize(
[in] SERCX2CUSTOMRECEIVETRANSACTION CustomReceiveTransaction,
[in] PMDL Mdl,
[in] ULONG Offset,
[in] ULONG Length
)
{...}
Parámetros
[in] CustomReceiveTransaction
Identificador de SERCX2CUSTOMRECEIVETRANSACTION a un objeto custom-receive-transaction. El controlador de controlador serie llamó anteriormente al método SerCx2CustomReceiveTransactionCreate para crear este objeto.
[in] Mdl
Puntero a un MDL que describe las páginas de memoria que abarca el búfer de lectura para la transacción de recepción personalizada. La lista de dispersión y recopilación de la transferencia DMA usará la región de esta memoria especificada por el offset de
[in] Offset
Desplazamiento inicial de la transferencia de datos. Este parámetro es un desplazamiento de bytes desde el principio de la región del búfer descrita por MDL. Si MDL especifica un total de N bytes de espacio en búfer, los valores posibles de desplazamiento están en el intervalo de 0 a N-1.
[in] Length
Tamaño, en bytes, de la transferencia de datos. Si MDL especifica un total de N bytes de espacio en búfer, los valores posibles de Longitud están en el intervalo de 1 a N-Desplazamiento.
Valor devuelto
Ninguno
Observaciones
El controlador de controlador serie puede, como opción, implementar esta función. Si se implementa, el controlador registra la función en el SerCx2CustomReceiveTransactionCreate llamada que crea el objeto de recepción personalizado.
El controlador debe implementar una función EvtSerCx2CustomReceiveTransactionInitialize si necesita inicializar el controlador serie y el hardware asociado como preparación para una nueva transacción de recepción personalizada. SerCx2 llama a esta función, si se implementa, antes de iniciar la transacción de recepción personalizada. En respuesta a esta llamada, el controlador del controlador serie debe llamar al SerCx2CustomReceiveTransactionInitializeComplete método para notificar a SerCx2 una vez finalizada la inicialización.
Para obtener más información, vea SerCx2 Custom-Receive Transactions.
Ejemplos
Para definir un función de devolución de llamada EvtSerCx2CustomReceiveTransactionInitialize, primero debe proporcionar una declaración de función que identifique el tipo de función de devolución de llamada que está definiendo. Windows proporciona un conjunto de tipos de función de devolución de llamada para controladores. Declarar una función mediante los tipos de función de devolución de llamada ayuda a Análisis de código para controladores, comprobador de controladores estáticos (SDV) y otras herramientas de comprobación encuentran errores y es un requisito para escribir controladores para el sistema operativo Windows.
Por ejemplo, para definir un EvtSerCx2CustomReceiveTransactionInitialize función de devolución de llamada denominada MyCustomReceiveTransactionInitialize
, use el tipo de función EVT_SERCX2_CUSTOM_RECEIVE_TRANSACTION_INITIALIZE, como se muestra en este ejemplo de código:
EVT_SERCX2_CUSTOM_RECEIVE_TRANSACTION_INITIALIZE MyCustomReceiveTransactionInitialize;
A continuación, implemente la función de devolución de llamada de la siguiente manera:
_Use_decl_annotations_
VOID
MyCustomReceiveTransactionInitialize(
SERCX2CUSTOMRECEIVETRANSACTION CustomReceiveTransaction,
WDFREQUEST Request,
PMDL Mdl,
ULONG Offset,
ULONG Length
)
{...}
El tipo de función EVT_SERCX2_CUSTOM_RECEIVE_TRANSACTION_INITIALIZE se define en el archivo de encabezado Sercx.h. Para identificar con más precisión los errores al ejecutar las herramientas de análisis de código, asegúrese de agregar la anotación Use_decl_annotations a la definición de función. La anotación Use_decl_annotations garantiza que se usen las anotaciones que se aplican al tipo de función EVT_SERCX2_CUSTOM_RECEIVE_TRANSACTION_INITIALIZE en el archivo de encabezado. Para obtener más información sobre los requisitos de las declaraciones de función, consulte Declaración de funciones mediante tipos de rol de función para controladores kmDF. Para obtener más información sobre Use_decl_annotations, vea Anotación del comportamiento de la función.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Disponible a partir de Windows 8.1. |
de la plataforma de destino de |
Escritorio |
encabezado de |
sercx.h |
irQL | Se llama a irQL <= DISPATCH_LEVEL. |
Consulte también
SERCX2CUSTOMRECEIVETRANSACTION