estructura SERCX2_CONFIG (sercx.h)
La estructura SERCX2_CONFIG contiene información de configuración de la versión 2 de la extensión de marco serie (SerCx2).
Sintaxis
typedef struct _SERCX2_CONFIG {
ULONG Size;
PFN_SERCX2_FILEOPEN EvtSerCx2FileOpen;
PFN_SERCX2_FILECLOSE EvtSerCx2FileClose;
PFN_SERCX2_SET_WAIT_MASK EvtSerCx2SetWaitMask;
PFN_SERCX2_PURGE_FIFOS EvtSerCx2PurgeFifos;
PFN_SERCX2_CONTROL EvtSerCx2Control;
PFN_SERCX2_APPLY_CONFIG EvtSerCx2ApplyConfig;
PFN_SERCX2_SELECT_NEXT_RECEIVE_TRANSACTION_TYPE EvtSerCx2SelectNextReceiveTransactionType;
PFN_SERCX2_SELECT_NEXT_TRANSMIT_TRANSACTION_TYPE EvtSerCx2SelectNextTransmitTransactionType;
PWDF_OBJECT_ATTRIBUTES RequestAttributes;
} SERCX2_CONFIG, *PSERCX2_CONFIG;
Miembros
Size
Tamaño, en bytes, de esta estructura. El método SerCx2InitializeDevice usa este miembro para determinar qué versión de la estructura usa el llamador. El tamaño de esta estructura puede cambiar en versiones futuras del archivo de encabezado Sercx.h.
EvtSerCx2FileOpen
Puntero a la función de devolución de llamada de evento EvtSerCx2FileOpen implementada por el controlador. Este miembro es opcional y se puede establecer en NULL para indicar que el controlador no implementa la función. Sin embargo, un controlador que implementa esta función también debe implementar una función EvtSerCx2FileClose .
EvtSerCx2FileClose
Puntero a la función de devolución de llamada de eventos EvtSerCx2FileClose implementada por el controlador. Este miembro es opcional y se puede establecer en NULL para indicar que el controlador no implementa la función.
EvtSerCx2SetWaitMask
Puntero a la función de devolución de llamada de evento EvtSerCx2SetWaitmask implementada por el controlador. Este miembro debe apuntar a una función válida.
EvtSerCx2PurgeFifos
Puntero a la función de devolución de llamada de evento EvtSerCx2PurgeFifos implementada por el controlador. Este miembro debe apuntar a una función válida.
EvtSerCx2Control
Puntero a la función de devolución de llamada de eventos EvtSerCx2Control implementada por el controlador. Este miembro debe apuntar a una función válida.
EvtSerCx2ApplyConfig
Puntero a la función de devolución de llamada de eventos EvtSerCx2ApplyConfig implementada por el controlador. Este miembro debe apuntar a una función válida.
EvtSerCx2SelectNextReceiveTransactionType
Puntero a la función de devolución de llamada de eventos EvtSerCx2SelectNextReceiveTransactionType implementada por el controlador. Este miembro es opcional y se puede establecer en NULL para indicar que el controlador no implementa la función.
EvtSerCx2SelectNextTransmitTransactionType
Puntero a la función de devolución de llamada de eventos EvtSerCx2SelectNextTransmitTransactionType implementada por el controlador. Este miembro es opcional y se puede establecer en NULL para indicar que el controlador no implementa la función.
RequestAttributes
Puntero a una estructura de WDF_OBJECT_ATTRIBUTES que describe los atributos que se van a asignar a los objetos de solicitud de marco que SerCx2 pasa al controlador de controlador serie. Antes de llamar al método SerCx2InitializeDevice , el llamador debe llamar a la función WDF_OBJECT_ATTRIBUTES_INIT para inicializar la estructura. Este miembro 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 la sección Comentarios.
Comentarios
El método SerCx2InitializeDevice acepta un puntero a una estructura de SERCX2_CONFIG como parámetro de entrada. Antes de llamar a SerCx2InitializeDevice, llame a la función SERCX2_CONFIG_INIT para inicializar esta estructura.
Si el miembro RequestAttributes apunta a una estructura de 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 los miembros ParentObject, ExecutionLevel y SynchronizationScope de esta estructura.
Es posible que un controlador necesite almacenar información en áreas de contexto en los objetos de solicitud del marco que recibe el controlador. Normalmente, el controlador llama al método WdfDeviceInitSetRequestAttributes para especificar los atributos necesarios para los objetos de solicitud. Estos atributos incluyen el nombre y el tamaño del área de contexto en cada objeto de solicitud. Además, en la implementación actual de SerCx2, un controlador de controlador serie que requiere un contexto de solicitud debe especificar estos mismos atributos en el miembro RequestAttributes de la estructura SERCX2_CONFIG que el controlador pasa a SerCx2InitializeDevice. Es decir, el controlador debe especificar dos veces los mismos atributos de solicitud, en la llamada SerCx2InitializeDevice y en la llamada WdfDeviceInitSetRequestAttributes . Para obtener más información, vea SerCx2 Custom-Receive Transactions y SerCx2 Custom-Transmit Transactions.
Un controlador que nunca necesita un contexto de solicitud no necesita llamar a WdfDeviceInitSetRequestAttributes y puede establecer el miembro RequestAttributes de la estructura SERCX2_CONFIG en WDF_NO_OBJECT_ATTRIBUTES.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Se admite a partir de Windows 8.1. |
Encabezado | sercx.h |
Consulte también
EvtSerCx2SelectNextReceiveTransactionType
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de