Share via


estrutura SERCX2_CUSTOM_RECEIVE_CONFIG (sercx.h)

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

Sintaxe

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;

Membros

Size

O tamanho, em bytes, dessa estrutura. O método SerCx2CustomReceiveCreate 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 recebimento personalizado 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 recebimento personalizado. Se o comprimento do buffer em uma solicitação de leitura (IRP_MJ_READ) 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 recebimento personalizado. Se o tamanho do buffer na solicitação de leitura for maior que esse comprimento máximo, o SerCx2 usará várias transações de recebimento personalizado 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 especificados por um elemento em uma lista de dispersão/coleta 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 recebimento personalizado exclusivamente para lidar com solicitações de gravação (IRP_MJ_READ). Defina como TRUE para indicar que as solicitações de leitura devem usar transações de recebimento personalizado exclusivamente. Defina como FALSE para indicar que as solicitações de leitura podem usar uma combinação de transações de recebimento personalizado e transações de recebimento de PIO.

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

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

Independentemente do valor desse membro, as transações de recebimento de PIO são usadas para salvar todos os dados não lidos no FIFO de recebimento antes que o controlador serial saia do estado de energia do dispositivo D0 para entrar em um estado de baixa potência.

Comentários

O método SerCx2CustomReceiveCreate aceita um ponteiro para uma estrutura SERCX2_CUSTOM_RECEIVE_CONFIG como um parâmetro de entrada. Antes de chamar SerCx2CustomReceiveCreate, chame a função SERCX2_CUSTOM_RECEIVE_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_READ

SERCX2_CUSTOM_RECEIVE_CONFIG_INIT

SerCx2CustomReceiveCreate