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
STATUS_INVALID_DEVICE_REQUEST
Der Portcontroller befindet sich bereits im Startzustand.
STATUS_INVALID_HANDLE
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

Weitere Informationen

UcmTcpciPortControllerStop