Freigeben über


UcmTcpciPortControllerStart-Funktion (ucmtcpciportcontroller.h)

Gibt die UcmTcpciCx-Klassenerweiterung an, die der Clienttreiber jetzt für die Bereitstellung von Hardwareanforderungen für den Portcontroller bereit ist.

Syntax

NTSTATUS UcmTcpciPortControllerStart(
  UCMTCPCIPORTCONTROLLER PortControllerObject
);

Parameter

PortControllerObject

Handle to the port controller object that the client driver received in the previous call to UcmTcpciPortControllerCreate.

Rückgabewert

(NTSTATUS) Die Methode gibt STATUS_SUCCESS zurück, wenn der Vorgang erfolgreich ist. Andernfalls gibt diese Methode möglicherweise einen geeigneten 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 UcmTcpciPortControllerSetHardwareRequestQueuefestgelegt.

Bemerkungen

Nachdem der Clienttreiber das UCMPORTCONTROLLER-Handle für das Portcontrollerobjekt empfangen 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 des Frameworkkontextbereichs für das Portcontrollerobjekt durchführen, bevor die Klassenerweiterung die Rückruffunktionen oder Anforderungen des Portcontrollerobjekts aufrufen kann. Der Treiber kann UcmTcpciPortControllerAlert oder UcmTcpciPortControllerStop- nicht aufrufen, bis der Portcontroller gestartet wurde.

Der Clienttreiber ruft diese Methode direkt nach dem Aufruf UcmTcpciPortControllerCreate auf und initialisiert seine Kontextstruktur, wenn sie in der WDF_OBJECT_ATTRIBUTES Struktur als Attributes Parameterwert angegeben wurde. Der Treiber muss davon ausgehen, dass die Klassenerweiterung Anforderungen auch vor UcmTcpciPortControllerStart innerhalb dieses DDI-Aufrufs zurückgibt. Wenn der Treiber beim Aufrufen UcmTcpciPortControllerStart eine Sperre hält und versucht, eine Sperre während der Verarbeitung einer Hardwareanforderung (in seinem Hardwareanforderungswarteschlangenrückruf) abzurufen, 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 mit einem nicht angefügten Zustand.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 10
mindestens unterstützte Server- Windows Server 2016
Zielplattform- Fenster
Header- ucmtcpciportcontroller.h
Library Ucmtcpcicxstub.lib
IRQL- PASSIVE_LEVEL

Siehe auch

UcmTcpciPortControllerStop-