Compartir a través de


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

EvtSerCx2ApplyConfig

EvtSerCx2Control

EvtSerCx2FileClose

EvtSerCx2FileOpen

EvtSerCx2PurgeFifos

EvtSerCx2SelectNextReceiveTransactionType

EvtSerCx2SelectNextTransmitTransactionType

EvtSerCx2SetWaitmask

SERCX2_CONFIG_INIT

SerCx2InitializeDevice

WDF_OBJECT_ATTRIBUTES

WDF_OBJECT_ATTRIBUTES_INIT