UcmTcpciPortControllerStop-Funktion (ucmtcpciportcontroller.h)

Gibt an, dass die UcmTcpciCx-Klassenerweiterung das Senden von Hardwareanforderungen an das Portcontrollerobjekt beendet.

Syntax

void UcmTcpciPortControllerStop(
  UCMTCPCIPORTCONTROLLER PortControllerObject
);

Parameter

PortControllerObject

Handle mit dem Portcontrollerobjekt, das der Clienttreiber beim vorherigen Aufruf von UcmTcpciPortControllerCreate empfangen hat.

Rückgabewert

Keine

Bemerkungen

Nach dem Aufruf von UcmTcpciPortControllerStop beendet der Clienttreiber die Verarbeitung aller Anforderungen für das Portcontrollerobjekt. Dieser Aufruf ist synchron, sodass garantiert ist, dass die Klassenerweiterung nach der Rückgabe keine Rückruffunktionen aufruft oder Anforderungen sendet. Der Treiber darf diese Methode nicht innerhalb eines Portcontrollerrückrufs oder während nicht abbruchbare Hardwareanforderungen ausstehend aufrufen.

Ein Clienttreiber ruft diese Methode aus seiner EVT_WDF_DEVICE_RELEASE_HARDWARE Rückrufimplementierung auf. Danach sollte auch WdfObjectDelete aufgerufen werden, falls EVT_WDF_DEVICE_RELEASE_HARDWARE zum Ressourcenausgleich aufgerufen wird. Wenn dies nicht der Fall ist, führt der Treiber zu einem Auslaufen von Objekten, die dem Portcontrollerobjekt zugeordnet sind, wenn ein Ressourcenausgleich erfolgt. Das Übergeordnete des UCMPORTCONTROLLER-Handles zum WDFDEVICE-Handle ist nicht ausreichend, da ein WDFDEVICE nicht über einen Ressourcenausgleich hinweg gelöscht wird.

Wenn der Treiber aufgrund von S0-Idle in einen Dx-Zustand wechselt, darf der Treiber diese Methode nicht über seine EVT_WDF_DEVICE_D0_EXIT Rückruffunktion aufrufen. Die Synchronisierung mit dem Energiezustand des Treibers kann mithilfe einer energieverwalteten Warteschlange zum Empfangen von Hardwareanforderungen erreicht werden.

Es ist sicher, UcmTcpciPortControllerStop auf einem Portcontroller aufzurufen, der bereits beendet wurde. Nachdem diese Methode zurückgegeben wurde, kann keine andere Methode außer UcmTcpciPortControllerStart auf dem Portcontroller aufgerufen werden.

Der Clienttreiber muss diese Methode aufrufen, wenn er alle Aktionen auf dem Portcontroller beenden muss, damit er die Fehlerwiederherstellung durchführen kann, wenn während des Vorgangs Probleme erkannt wurden. Nach Abschluss des Wiederherstellungsvorgangs muss der Treiber den Portcontroller neu starten.

Durch Das Beenden des Controllers wird jeder aktive PD-Vertrag und die Typ-C-Verbindung beendet.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 10
Unterstützte Mindestversion (Server) Windows Server 2016
Zielplattform Windows
Kopfzeile ucmtcpciportcontroller.h
Bibliothek Ucmtcpcicxstub.lib
IRQL PASSIVE_LEVEL

Weitere Informationen

UcmTcpciPortControllerStart