UcmTcpciPortControllerStart-Funktion (ucmtcpciportcontroller.h)
Gibt für die UcmTcpciCx-Klassenerweiterung an, dass der Clienttreiber jetzt bereit ist, Hardwareanforderungen für den Portcontroller zu warten.
Syntax
NTSTATUS UcmTcpciPortControllerStart(
UCMTCPCIPORTCONTROLLER PortControllerObject
);
Parameter
PortControllerObject
Handle mit dem Portcontrollerobjekt, das der Clienttreiber beim vorherigen Aufruf von UcmTcpciPortControllerCreate empfangen hat.
Rückgabewert
(NTSTATUS) Die Methode gibt STATUS_SUCCESS zurück, wenn der Vorgang erfolgreich ist. Andernfalls gibt diese Methode möglicherweise einen entsprechenden NTSTATUS-Fehlercode zurück.
Rückgabecode | Beschreibung |
---|---|
|
Der Portcontroller befindet sich bereits im Startzustand. |
|
Die Hardwareanforderungswarteschlange wurde nicht durch Aufrufen von UcmTcpciPortControllerSetHardwareRequestQueue festgelegt. |
Hinweise
Nachdem der Clienttreiber das UCMPORTCONTROLLER-Handle für das Portcontrollerobjekt erhalten hat, ruft der Treiber diese Methode auf, um die Klassenerweiterung zu benachrichtigen, dass der Treiber mit dem Empfangen von Hardwareanforderungen beginnen kann. Mit diesem Methodenaufruf kann der Clienttreiber die Initialisierung seines Frameworkkontextbereichs auf dem Portcontrollerobjekt ausführen, bevor die Klassenerweiterung die Rückruffunktionen oder Anforderungen des Treibers für das Portcontrollerobjekt aufrufen kann. Der Treiber kann UcmTcpciPortControllerAlert oder UcmTcpciPortControllerStop erst aufrufen, wenn der Portcontroller gestartet wurde.
Der Clienttreiber ruft diese Methode direkt nach dem Aufruf von UcmTcpciPortControllerCreate und der Initialisierung seiner Kontextstruktur auf, wenn sie in der WDF_OBJECT_ATTRIBUTES-Struktur als Attribute-Parameterwert angegeben wurde. Der Treiber muss davon ausgehen, dass die Klassenerweiterung Anforderungen übermitteln kann, bevor UcmTcpciPortControllerStart zurückgibt, d. h. von innerhalb dieses DDI-Aufrufs. Wenn der Treiber beim Aufrufen von UcmTcpciPortControllerStart eine Sperre hält und auch versucht, eine Sperre zu erhalten, während er eine Hardwareanforderung verarbeitet (in seinem Rückruf in der Hardwareanforderungswarteschlange), kann dies zu einem Deadlock führen.
Ein Aufruf von UcmTcpciPortControllerStart zum Starten eines Portcontrollerobjekts, das sich bereits im Startzustand befindet, führt zu einem Fehler.
Wenn das BIOS bereits einen PD-Vertrag ausgehandelt hat, beginnt UcmTcpciCx beim Start mit einem nicht angefügten Zustand.
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 |