Freigeben über


UcmUcsiPpmStop-Funktion (ucmucsippm.h)

Weist die UcmUcsiCx-Klassenerweiterung an, das Senden von Anforderungen an den Clienttreiber zu beenden.

Syntax

void UcmUcsiPpmStop(
  [in] UCMUCSIPPM PpmObject
);

Parameter

[in] PpmObject

Ein Handle für ein Platform Policy Manager -Objekt (PPM), das der Clienttreiber im vorherigen Aufruf von UcmUcsiPpmCreate empfangen hat.

Rückgabewert

Keine

Bemerkungen

UcmUcsiPpmStop gibt an, dass der Clienttreiber nicht mehr bereit ist, Anforderungen von der Klassenerweiterung zu empfangen. Die Klassenerweiterung garantiert, dass nach der Rückgabe dieses Aufrufs keine Anforderungen an den Client gesendet werden. Der Treiber sollte diesen DDI aufrufen, wenn ein Fehler auftritt und die Klassenerweiterung das Senden von PPM-Anforderungen beenden soll. Nach Abschluss des Aufrufs sollte der Treiber das PPM mit UcmUcsiPpmStart erneut starten.

Es wird erwartet, dass der Clienttreiber diesen DDI beim Entladen des Treibers aufruft. Dieser Aufruf gibt an, dass die Klassenerweiterung mit dem Herunterreißen der internen Zustandscomputer beginnt. Es wird empfohlen, dass der Client UcmUcsiPpmStop über seinen EVT_WDF_DEVICE_RELEASE_HARDWARE Rückruf aufruft.

Da UcmUcsiPpmStop auf dem Senden von UCSI-Befehlen an PPM über das vom Clienttreiber bereitgestellte power-managed WDFQUEUE basiert, führt ein Versuch, diese Funktion über EVT_WDF_DEVICE_D0_EXIT Rückruf aufzurufen, zu einem Fehler. Das liegt daran, dass zu diesem Zeitpunkt die Dispatch Gates für die Warteschlange geschlossen sind.

Nachdem ucmUcsiPpmStop zurückgegeben wurde, kann UcmUcsiPpmStart aufgerufen werden, um das PPM erneut zu starten.

Anforderungen

Anforderung Wert
KMDF-Mindestversion 1,27
UMDF-Mindestversion
Kopfzeile ucmucsippm.h (include UcmUcsiCx.h)
Bibliothek UcmUcsiCxStub.lib
IRQL PASSIVE_LEVEL