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 da 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
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 de 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á PIO (E/S) programado 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 tamanho 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 verdadeiro 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 VERDADEIRO 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 começar em qualquer limite de byte na memória.
Se Exclusivo for TRUE, os membros MinimumTransferUnitOverride, Alignmente MinimumTransactionLength deverão ser zero.
Independentemente do valor desse membro, as transações de recebimento de PIO são usadas para salvar quaisquer 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.
Observações
O método SerCx2CustomReceiveCreate
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Suporte para começar com Windows 8.1. |
cabeçalho | sercx.h |