Função SerCxGetActivity (sercx.h)
O método SerCxGetActivity recupera a status de trabalho pendente para o driver do controlador serial.
Sintaxe
void SerCxGetActivity(
[in] WDFDEVICE Device,
[in, out] PSERCX_ACTIVITY Activity
);
Parâmetros
[in] Device
Um identificador WDFDEVICE para o objeto de dispositivo de estrutura que representa o controlador serial.
[in, out] Activity
Um ponteiro para uma estrutura de SERCX_ACTIVITY alocada pelo chamador. O chamador deve ter chamado anteriormente a função SERCX_ACTIVITY_INIT para inicializar essa estrutura antes de seu uso inicial. Depois disso, cada chamada serCxGetActivity atualiza o conteúdo dessa estrutura para acompanhar os itens de trabalho que estão prontos para serem processados pelo driver do controlador.
Retornar valor
Nenhum
Comentários
O driver do controlador serial chama esse método para receber um resumo do trabalho de processamento que ele precisa executar em nome da extensão da estrutura serial (SerCx). Normalmente, SerCxGetActivity é chamado pela rotina de DPC de transmissão/recebimento no driver do controlador.
O parâmetro Activity aponta para uma estrutura SERCX_ACTIVITY que descreve o trabalho pendente para o driver do controlador. O trabalho pendente que o SerCx atribui ao driver do controlador é orientado por solicitações de E/S de clientes, mas uma solicitação de E/S não necessariamente gera um item de trabalho. Por exemplo, se o SerCx tiver uma quantidade suficiente de dados recebidos em seu buffer de memória para concluir uma solicitação de leitura pendente, essa solicitação não fará com que o membro receptor da estrutura SERCX_ACTIVITY seja definido como TRUE.
Para percorrer itens de trabalho pendentes, a rotina de DPC de transmissão/recebimento chama SerCxGetActivity, processa uma operação completa de transmissão ou recebimento e, em seguida, chama SerCxGetActivity novamente para determinar se outra operação de um tipo diferente requer trabalho. Se outra operação exigir trabalho, esse trabalho poderá começar durante o mesmo retorno de chamada, mas deverá parar se o valor retornado de uma chamada para SerCxProgressReceive ou SerCxProgressTransmit direcionar a rotina DPC para reagendar a si mesma para ser executada posteriormente.
Um bloqueio protege a estrutura SERCX_ACTIVITY atualizada pela chamada SerCxGetActivity . Durante a chamada, esse bloqueio é adquirido por manipuladores de eventos no SerCx para atualizar o resumo do trabalho que está pendente no momento para o driver do controlador.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível a partir do Windows 8. |
Plataforma de Destino | Universal |
Cabeçalho | sercx.h |
IRQL | <= DISPATCH_LEVEL |