SerCxGetActivity-Funktion (sercx.h)
Die SerCxGetActivity Methode ruft den Status der ausstehenden Arbeit für den seriellen Controllertreiber ab.
Syntax
void SerCxGetActivity(
[in] WDFDEVICE Device,
[in, out] PSERCX_ACTIVITY Activity
);
Parameter
[in] Device
Ein WDFDEVICE-Handle für das Framework-Geräteobjekt, das den seriellen Controller darstellt.
[in, out] Activity
Ein Zeiger auf eine vom Aufrufer zugewiesene SERCX_ACTIVITY Struktur. Der Aufrufer muss zuvor die SERCX_ACTIVITY_INIT-Funktion aufgerufen haben, um diese Struktur vor der ersten Verwendung zu initialisieren. Anschließend aktualisiert jedes SerCxGetActivity den Inhalt dieser Struktur, um die Arbeitsaufgaben nachzuverfolgen, die vom Controllertreiber verarbeitet werden können.
Rückgabewert
Nichts
Bemerkungen
Der serielle Controllertreiber ruft diese Methode auf, um eine Zusammenfassung der Verarbeitungsarbeiten zu erhalten, die sie im Auftrag der seriellen Framework-Erweiterung (SerCx) ausführen muss. In der Regel wird SerCxGetActivity- von der Übertragungs-/Empfangs-DPC-Routine im Controllertreiber aufgerufen.
Der parameter Activity verweist auf eine SERCX_ACTIVITY Struktur, die ausstehende Arbeit für den Controllertreiber beschreibt. Die ausstehende Arbeit, die SerCx dem Controllertreiber zuweist, wird von E/A-Anforderungen von Clients gesteuert, aber eine E/A-Anforderung führt nicht notwendigerweise zu einer Arbeitsaufgabe. Wenn z. B. SerCx über eine ausreichende Menge empfangener Daten im Speicherpuffer verfügt, um eine ausstehende Leseanforderung abzuschließen, führt diese Anforderung nicht dazu, dass die empfangenden Member der SERCX_ACTIVITY Struktur auf TRUE festgelegt wird.
Um ausstehende Arbeitsaufgaben zu durchlaufen, werden die DPC-Routineaufrufe SerCxGetActivity, verarbeitet einen vollständigen Übertragungs- oder Empfangsvorgang und ruft dann SerCxGetActivity erneut auf, um zu bestimmen, ob ein anderer Vorgang eines anderen Typs Arbeit erfordert. Wenn ein anderer Vorgang Arbeit erfordert, beginnt diese Arbeit möglicherweise während desselben Rückrufs, muss aber beendet werden, wenn der Rückgabewert von einem Aufruf an SerCxProgressReceive oder SerCxProgressTransmit die DPC-Routine angibt, sich zu einem späteren Zeitpunkt neu zu planen.
Eine Sperre schützt die SERCX_ACTIVITY Struktur, die vom SerCxGetActivity Aufruf aktualisiert wird. Während des Aufrufs wird diese Sperre von Ereignishandlern in SerCx abgerufen, um die Zusammenfassung der Arbeit zu aktualisieren, die derzeit für den Controllertreiber aussteht.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Verfügbar ab Windows 8. |
Zielplattform- | Universal |
Header- | sercx.h |
IRQL- | <= DISPATCH_LEVEL |