Condividi tramite


Funzione UcmTcpciPortControllerStart (ucmtcpciportcontroller.h)

Indica all'estensione della classe UcmTcpciCx che il driver client è ora pronto per gestire le richieste hardware per il controller di porta.

Sintassi

NTSTATUS UcmTcpciPortControllerStart(
  UCMTCPCIPORTCONTROLLER PortControllerObject
);

Parametri

PortControllerObject

Gestire l'oggetto controller di porta ricevuto dal driver client nella chiamata precedente a UcmTcpciPortControllerCreare.

Valore restituito

(NTSTATUS) Il metodo restituisce STATUS_SUCCESS se l'operazione ha esito positivo. In caso contrario, questo metodo può restituire un codice di errore NTSTATUS appropriato.

Codice restituito Descrizione
STATUS_INVALID_DEVICE_REQUEST
Il controller di porta è già in stato Start.
STATUS_INVALID_HANDLE
La coda delle richieste hardware non è stata impostata chiamando UcmTcpciPortControllerSetHardwareRequestQueue.

Osservazioni

Dopo che il driver client ha ricevuto l'handle UCMPORTCONTROLLER per l'oggetto controller di porta, il driver chiama questo metodo per notificare all'estensione della classe che il driver può iniziare a ricevere richieste hardware. Questa chiamata al metodo consente al driver client di eseguire l'inizializzazione dello spazio del contesto del framework nell'oggetto controller di porta, prima che l'estensione della classe possa richiamare le funzioni di callback del driver o le richieste per l'oggetto controller di porta. Il driver non può chiamare UcmTcpciPortControllerAlert o UcmTcpciPortControllerStop fino all'avvio del controller di porta.

Il driver client chiama questo metodo subito dopo aver chiamato UcmTcpciPortControllerCreare e inizializzarne la struttura di contesto, se è stata specificata nella struttura WDF_OBJECT_ATTRIBUTES come valore del parametro attributi. Il driver deve presupporre che l'estensione della classe possa inviare richieste anche prima di UcmTcpciPortControllerStart restituisce, ad esempio, dall'interno di questa chiamata DDI. Se il driver mantiene un blocco durante la chiamata di UcmTcpciPortControllerStart e tenta anche di acquisire un blocco durante la gestione di una richiesta hardware (nel callback della coda delle richieste hardware), potrebbe verificarsi un deadlock.

Una chiamata a UcmTcpciPortControllerStart per avviare un oggetto controller di porta già in stato Start genera un errore.

All'avvio, se il BIOS aveva già negoziato un contratto PD, UcmTcpciCx inizia da uno stato scollegato.

Fabbisogno

Requisito Valore
client minimo supportato Windows 10
server minimo supportato Windows Server 2016
piattaforma di destinazione Finestre
intestazione ucmtcpciportcontroller.h
libreria Ucmtcpcicxstub.lib
IRQL PASSIVE_LEVEL

Vedere anche

UcmTcpciPortControllerStop