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
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de