UcmUcsiPpmStart-Funktion (Ucmucsippm.h)
Weist die UcmUcsiCx-Klassenerweiterung an, mit dem Senden von Anforderungen an den Clienttreiber zu beginnen.
Syntax
NTSTATUS UcmUcsiPpmStart(
[in] UCMUCSIPPM PpmObject
);
Parameter
[in] PpmObject
Ein Handle für ein PPM-Objekt (Platform Policy Manager), das der Clienttreiber im vorherigen Aufruf von UcmUcsiPpmCreate empfangen hat.
Rückgabewert
Gibt STATUS_SUCCESS zurück, wenn der Vorgang erfolgreich ist. Andernfalls kann diese Methode einen geeigneten NTSTATUS-Wert zurückgeben.
Hinweise
UcmUcsiPpmStart gibt an, dass der Clienttreiber jetzt bereit ist, Anforderungen von der Klassenerweiterung zu empfangen. Bei diesem Aufruf startet die Klassenerweiterung os policy manager (OPM) und Command Handler state machines.
Der Clienttreiber muss UcmUcsiPpmStart aufrufen, nachdem ucmUcsiPpmStop für die Fehlerwiederherstellung aufgerufen wurde.
Dieser DDI startet die Vorgänge, die die Klassenerweiterung ausführen muss, um die OPM- und Command Handler-Zustandscomputer zu initialisieren. Der Clienttreiber muss UcmUcsiPpmStart aufrufen, um UcmUcsiCx zu benachrichtigen, dass der Treiber bereit ist, die IOCTL-Anforderungen zu empfangen. Es wird empfohlen, diesen Aufruf entweder über die rückruffunktion EVT_WDF_DEVICE_PREPARE_HARDWARE oder nach dem Aufruf dieses Rückrufs durch das System durchzuführen.
Der Versuch, das PPM zu starten, nachdem es bereits gestartet wurde, führt zu einer Fehlerbedingung.
Nachdem der Client UcmUcsiPpmStart aufgerufen hat, sendet die Klassenerweiterung eine Reihe von Befehlen an die PPM-Firmware, um PPM- und Connectorfunktionen und deren Status abzurufen. Aufgrund einer hohen Anzahl von Interaktionen mit der Firmware empfehlen wir dringend, dass UcmUcsiCx-Clientimplementatoren diesen DDI einmal während des Starts und nicht beim Fortsetzen aus einem Zustand mit niedrigem Stromverbrauch aufrufen, z. B. D0Entry-Rückruf. Dies gilt insbesondere, wenn der Client S0-Leerlauf implementiert.
Anforderungen
Anforderung | Wert |
---|---|
KMDF-Mindestversion | 1,27 |
UMDF-Mindestversion | – |
Kopfzeile | Ucmucsippm.h (einschließlich UcmUcsiCx.h) |
Bibliothek | UcmUcsiCxStub.lib |
IRQL | PASSIVE_LEVEL |