Condividi tramite


Funzione SerCxGetActivity (sercx.h)

Il metodo SerCxGetActivity recupera lo stato di 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 di SERCX_ACTIVITY allocata dal chiamante. Il chiamante deve aver precedentemente chiamato la funzione SERCX_ACTIVITY_INIT per inizializzare questa struttura prima dell'uso iniziale. Successivamente, ogni SerCxGetActivity chiamata aggiorna il contenuto di questa struttura per tenere traccia degli elementi di lavoro pronti per essere elaborati dal driver del 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 del 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 relativo buffer di memoria per completare una richiesta di lettura in sospeso, questa richiesta non determina l'impostazione del membro ricevente della struttura SERCX_ACTIVITY su TRUE.

Per scorrere gli elementi di lavoro in sospeso, le chiamate di routine DPC di trasmissione/ricezione SerCxGetActivity, elabora un'operazione di trasmissione o ricezione completa e quindi chiama di nuovo SerCxGetActivity per determinare se un'altra operazione di un tipo diverso richiede il lavoro. Se è necessaria un'altra operazione, 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 riprogrammarsi per l'esecuzione successiva.

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 del controller.

Fabbisogno

Requisito Valore
client minimo supportato Disponibile a partire da Windows 8.
piattaforma di destinazione Universale
intestazione sercx.h
IRQL <= DISPATCH_LEVEL

Vedere anche

SERCX_ACTIVITY

SERCX_ACTIVITY_INIT

SerCxCompleteWait

SerCxProgressReceive

SerCxProgressTransmit