Funzione SerCxGetActivity (sercx.h)

Il metodo SerCxGetActivity recupera lo stato del lavoro in sospeso per il driver del controller seriale.

Sintassi

void SerCxGetActivity(
  [in]      WDFDEVICE       Device,
  [in, out] PSERCX_ACTIVITY Activity
);

Parametri

[in] Device

Handle WDFDEVICE per l'oggetto dispositivo framework che rappresenta il controller seriale.

[in, out] Activity

Puntatore a una struttura SERCX_ACTIVITY allocata dal chiamante. Il chiamante deve avere precedentemente chiamato la funzione SERCX_ACTIVITY_INIT per inizializzare questa struttura prima dell'uso iniziale. Successivamente, ogni chiamata SerCxGetActivity aggiorna il contenuto di questa struttura per tenere traccia degli elementi di lavoro pronti per l'elaborazione da parte del driver controller.

Valore restituito

nessuno

Osservazioni

Il driver del controller seriale chiama questo metodo per ricevere un riepilogo del lavoro di elaborazione che deve eseguire per conto dell'estensione del framework seriale (SerCx). In genere, SerCxGetActivity viene chiamato dalla routine DPC di trasmissione/ricezione nel driver del controller.

Il parametro Activity punta a una struttura SERCX_ACTIVITY che descrive il lavoro in sospeso per il driver del controller. Il lavoro in sospeso assegnato da SerCx al driver controller è basato sulle richieste di I/O dai client, ma una richiesta di I/O non genera necessariamente un elemento di lavoro. Ad esempio, se SerCx dispone di una quantità sufficiente di dati ricevuti nel buffer di memoria per completare una richiesta di lettura in sospeso, questa richiesta non fa sì che il membro ricevente della struttura SERCX_ACTIVITY venga impostato su TRUE.

Per scorrere gli elementi di lavoro in sospeso, la routine DPC di trasmissione/ricezione chiama SerCxGetActivity, elabora un'operazione di trasmissione o ricezione completa e quindi chiama nuovamente SerCxGetActivity per determinare se un'altra operazione di un tipo diverso richiede il lavoro. Se un'altra operazione richiede il lavoro, questo lavoro potrebbe iniziare durante lo stesso callback, ma deve arrestarsi se il valore restituito da una chiamata a SerCxProgressReceive o SerCxProgressTransmit indirizza la routine DPC a riprogrammare se stessa per l'esecuzione in un secondo momento.

Un blocco protegge la struttura SERCX_ACTIVITY aggiornata dalla chiamata SerCxGetActivity . Durante la chiamata, questo blocco viene acquisito dai gestori eventi in SerCx per aggiornare il riepilogo del lavoro attualmente in sospeso per il driver controller.

Requisiti

Requisito Valore
Client minimo supportato Disponibile a partire da Windows 8.
Piattaforma di destinazione Universale
Intestazione sercx.h
IRQL <= DISPATCH_LEVEL

Vedi anche

SERCX_ACTIVITY

SERCX_ACTIVITY_INIT

SerCxCompleteWait

SerCxProgressReceive

SerCxProgressTransmit