Share via


estrutura SERCX2_CUSTOM_TRANSMIT_CONFIG (sercx.h)

A estrutura SERCX2_CUSTOM_TRANSMIT_CONFIG contém informações que a versão 2 da extensão de estrutura serial (SerCx2) usa para configurar um novo objeto de transmissão personalizada.

Sintaxe

typedef struct _SERCX2_CUSTOM_TRANSMIT_CONFIG {
  ULONG   Size;
  ULONG   Alignment;
  ULONG   MinimumTransactionLength;
  ULONG   MaximumTransactionLength;
  ULONG   MinimumTransferUnit;
  BOOLEAN Exclusive;
} SERCX2_CUSTOM_TRANSMIT_CONFIG, *PSERCX2_CUSTOM_TRANSMIT_CONFIG;

Membros

Size

O tamanho, em bytes, dessa estrutura. O método SerCx2CustomTransmitCreate usa esse membro para determinar qual versão da estrutura o chamador está usando. O tamanho dessa estrutura pode mudar em versões futuras do arquivo de cabeçalho Sercx.h.

Alignment

Requisito de alinhamento de dados. Especifica como o endereço inicial de uma transferência em uma transação de transmissão personalizada deve ser alinhado na memória. Defina esse membro como a constante FILE_XXX_ALIGNMENT apropriada no arquivo de cabeçalho Wdm.h. Por exemplo, FILE_WORD_ALIGNMENT indica que o endereço inicial deve ser alinhado ao limite de dois bytes na memória, FILE_LONG_ALIGNMENT indica que o endereço deve ser alinhado a um limite de quatro bytes e assim por diante.

MinimumTransactionLength

O comprimento mínimo, em bytes, de uma transferência de dados em uma transação de transmissão personalizada. Se o comprimento do buffer em uma solicitação de gravação (IRP_MJ_WRITE) for menor que esse comprimento mínimo, o SerCx2 usará E/S (E/S) programada para a transação.

MaximumTransactionLength

O comprimento máximo, em bytes, de uma transferência de dados em uma transação de transmissão personalizada. Se o tamanho do buffer na solicitação de gravação for maior que esse comprimento máximo, o SerCx2 usará várias transações de transmissão personalizada para lidar com a solicitação e limitará cada transação ao comprimento máximo.

MinimumTransferUnit

A unidade de transferência mínima. O número de bytes a serem transferidos em uma transação de transmissão personalizada deve ser um número inteiro múltiplo da unidade de transferência mínima. Para indicar que a unidade de transferência mínima padrão deve ser usada, defina esse membro como zero. Para obter mais informações sobre a unidade de transferência mínima padrão, consulte DMA_ADAPTER_INFO_V1.

Exclusive

Se deve usar transações de transmissão personalizada exclusivamente para lidar com solicitações de gravação (IRP_MJ_WRITE). Defina como TRUE para indicar que as solicitações de gravação devem usar transações de transmissão personalizada exclusivamente. Defina como FALSE para indicar que as solicitações de gravação podem usar uma combinação de transações de transmissão personalizada e transações de transmissão de PIO.

Defina esse membro como TRUE somente se a unidade de transferência mínima para transações de transmissão personalizada for de um byte, o comprimento mínimo da transação for um byte e o buffer de gravação da transação puder iniciar em qualquer limite de byte na memória.

Se Exclusive for TRUE, os membros MinimumTransferUnit, Alignment e MinimumTransactionLength deverão ser zero.

Comentários

O método SerCx2CustomTransmitCreate aceita um ponteiro para uma estrutura SERCX2_CUSTOM_TRANSMIT_CONFIG como um parâmetro de entrada. Antes de chamar SerCx2CustomTransmitCreate, chame a função SERCX2_CUSTOM_TRANSMIT_CONFIG_INIT para inicializar essa estrutura.

Requisitos

Requisito Valor
Cliente mínimo com suporte Com suporte a partir de Windows 8.1.
Cabeçalho sercx.h

Confira também

DMA_ADAPTER_INFO_V1

IRP_MJ_WRITE

SERCX2_CUSTOM_TRANSMIT_CONFIG_INIT

SerCx2CustomTransmitCreate