Compartir a través de


estructura SERCX2_CUSTOM_RECEIVE_CONFIG (sercx.h)

La estructura SERCX2_CUSTOM_RECEIVE_CONFIG contiene información que usa la versión 2 de la extensión de marco de trabajo serie (SerCx2) para configurar un nuevo objeto de recepción personalizado.

Sintaxis

typedef struct _SERCX2_CUSTOM_RECEIVE_CONFIG {
  ULONG   Size;
  ULONG   Alignment;
  ULONG   MinimumTransactionLength;
  ULONG   MaximumTransactionLength;
  ULONG   MinimumTransferUnit;
  BOOLEAN Exclusive;
} SERCX2_CUSTOM_RECEIVE_CONFIG, *PSERCX2_CUSTOM_RECEIVE_CONFIG;

Miembros

Size

Tamaño, en bytes, de esta estructura. El método SerCx2CustomReceiveCreate 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.

Alignment

Requisito de alineación de datos. Especifica cómo se debe alinear la dirección inicial de una transferencia en una transacción de recepción personalizada en la memoria. Establezca este miembro en la constante FILE_XXX_ALIGNMENT adecuada en el archivo de encabezado Wdm.h. Por ejemplo, FILE_WORD_ALIGNMENT indica que la dirección inicial debe alinearse con el límite de dos bytes en la memoria, FILE_LONG_ALIGNMENT indica que la dirección debe alinearse con un límite de cuatro bytes, etc.

MinimumTransactionLength

Longitud mínima, en bytes, de una transferencia de datos en una transacción de recepción personalizada. Si la longitud del búfer en una solicitud de lectura (IRP_MJ_READ) es inferior a esta longitud mínima, SerCx2 usa E/S programadas (PIO) para la transacción.

MaximumTransactionLength

Longitud máxima, en bytes, de una transferencia de datos en una transacción de recepción personalizada. Si el tamaño del búfer en la solicitud de lectura es mayor que esta longitud máxima, SerCx2 usa varias transacciones de recepción personalizadas para controlar la solicitud y limita cada transacción a la longitud máxima.

MinimumTransferUnit

Unidad de transferencia mínima. El número de bytes especificado por un elemento en una lista de dispersión y recopilación debe ser un entero múltiplo de la unidad de transferencia mínima. Para indicar que se debe usar la unidad de transferencia mínima predeterminada, establezca este miembro en cero. Para obtener más información sobre la unidad de transferencia mínima predeterminada, consulte DMA_ADAPTER_INFO_V1.

Exclusive

Si se usan transacciones de recepción personalizadas exclusivamente para controlar las solicitudes de escritura (IRP_MJ_READ). Establézcalo en TRUE para indicar que las solicitudes de lectura deben usar transacciones de recepción personalizadas exclusivamente. Establézcalo en FALSE para indicar que las solicitudes de lectura pueden usar una combinación de transacciones de recepción personalizadas y transacciones de recepción de PIO.

Establezca este miembro en TRUE solo si la unidad de transferencia mínima para las transacciones de recepción personalizada es de un byte, la longitud mínima de la transacción es de un byte y el búfer de lectura de la transacción puede iniciarse en cualquier límite de bytes en la memoria.

Si Exclusive es TRUE, los miembros MinimumTransferUnitOverride, Alignment y MinimumTransactionLength deben ser cero.

Independientemente del valor de este miembro, las transacciones de recepción de PIO se usan para guardar los datos no leídos en el FIFO de recepción antes de que el controlador serie salga del estado de alimentación del dispositivo D0 para entrar en un estado de bajo consumo.

Comentarios

El método SerCx2CustomReceiveCreate acepta un puntero a una estructura de SERCX2_CUSTOM_RECEIVE_CONFIG como parámetro de entrada. Antes de llamar a SerCx2CustomReceiveCreate, llame a la función SERCX2_CUSTOM_RECEIVE_CONFIG_INIT para inicializar esta estructura.

Requisitos

Requisito Value
Cliente mínimo compatible Se admite a partir de Windows 8.1.
Encabezado sercx.h

Consulte también

DMA_ADAPTER_INFO_V1

IRP_MJ_READ

SERCX2_CUSTOM_RECEIVE_CONFIG_INIT

SerCx2CustomReceiveCreate