Partilhar via


Função SerCxGetActivity (sercx.h)

O método SerCxGetActivity recupera o status do 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 da estrutura que representa o controlador serial.

[in, out] Activity

Um ponteiro para uma estrutura de SERCX_ACTIVITY alocada por 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 SerCxGetActivity chamada atualiza o conteúdo dessa estrutura para acompanhar os itens de trabalho que estão prontos para serem processados pelo driver do controlador.

Valor de retorno

Nenhum

Observações

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 é controlado 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, as chamadas de rotina DPC de transmissão/recebimento SerCxGetActivity, processa uma operação de transmissão ou recebimento completa 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 deve parar se o valor retornado de uma chamada para SerCxProgressReceive ou SerCxProgressTransmit direcionar a rotina DPC para reagendar a si mesmo para ser executado posteriormente.

Um bloqueio protege a estrutura de 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á atualmente pendente para o driver do controlador.

Requisitos

Requisito Valor
de cliente com suporte mínimo Disponível a partir do Windows 8.
da Plataforma de Destino Universal
cabeçalho sercx.h
IRQL <= DISPATCH_LEVEL

Consulte também

SERCX_ACTIVITY

SERCX_ACTIVITY_INIT

SerCxCompleteWait

SerCxProgressReceive

SerCxProgressTransmit