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 UcmTcpciPortControllerCreate.
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 |
---|---|
|
Il controller della porta è già nello stato Start. |
|
La coda delle richieste hardware non è stata impostata chiamando UcmTcpciPortControllerSetHardwareRequestQueue. |
Commenti
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 UcmTcpciPortControllerCreate e inizializzandone la struttura di contesto, se è stata specificata nella struttura WDF_OBJECT_ATTRIBUTES come valore del parametro Attributes . Il driver deve presupporre che l'estensione della classe possa inviare richieste anche prima che UcmTcpciPortControllerStart restituisca, ad esempio, dall'interno di questa chiamata DDI. Se il driver mantiene un blocco durante la chiamata a 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.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 10 |
Server minimo supportato | Windows Server 2016 |
Piattaforma di destinazione | Windows |
Intestazione | ucmtcpciportcontroller.h |
Libreria | Ucmtcpcicxstub.lib |
IRQL | PASSIVE_LEVEL |