UcmTcpciPortControllerStart, fonction (ucmtcpciportcontroller.h)
Indique à l’extension de classe UcmTcpciCx que le pilote client est maintenant prêt à traiter les demandes matérielles pour le contrôleur de port.
Syntaxe
NTSTATUS UcmTcpciPortControllerStart(
UCMTCPCIPORTCONTROLLER PortControllerObject
);
Paramètres
PortControllerObject
Gérez l’objet contrôleur de port que le pilote client a reçu lors de l’appel précédent à UcmTcpciPortControllerCreate.
Valeur retournée
(NTSTATUS) La méthode retourne STATUS_SUCCESS si l’opération réussit. Sinon, cette méthode peut retourner un code d’erreur NTSTATUS approprié.
Code de retour | Description |
---|---|
|
Le contrôleur de port est déjà à l’état Démarrer. |
|
La file d’attente des demandes matérielles n’a pas été définie en appelant UcmTcpciPortControllerSetHardwareRequestQueue. |
Remarques
Une fois que le pilote client a reçu le handle UCMPORTCONTROLLER pour l’objet du contrôleur de port, le pilote appelle cette méthode pour informer l’extension de classe que le pilote peut commencer à recevoir des demandes matérielles. Cet appel de méthode permet au pilote client d’initialiser son espace de contexte d’infrastructure sur l’objet du contrôleur de port, avant que l’extension de classe puisse appeler les fonctions de rappel ou les demandes du pilote pour l’objet contrôleur de port. Le pilote ne peut pas appeler UcmTcpciPortControllerAlert ou UcmTcpciPortControllerStop tant que le contrôleur de port n’a pas été démarré.
Le pilote client appelle cette méthode juste après avoir appelé UcmTcpciPortControllerCreate et initialisé sa structure de contexte, si elle a été spécifiée dans la structure WDF_OBJECT_ATTRIBUTES comme valeur de paramètre Attributes . Le pilote doit supposer que l’extension de classe peut envoyer des demandes avant même que UcmTcpciPortControllerStart ne retourne, c’est-à-dire à partir de cet appel DDI. Si le pilote tient un verrou lors de l’appel de UcmTcpciPortControllerStart et tente également d’acquérir un verrou lors de la gestion d’une demande matérielle (dans le rappel de la file d’attente des demandes matérielles), cela peut entraîner un interblocage.
Un appel à UcmTcpciPortControllerStart pour démarrer un objet de contrôleur de port déjà à l’état Démarrer génère une erreur.
Au démarrage, si le BIOS avait déjà négocié un contrat pdd, UcmTcpciCx démarre à partir d’un état non attaché.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 10 |
Serveur minimal pris en charge | Windows Server 2016 |
Plateforme cible | Windows |
En-tête | ucmtcpciportcontroller.h |
Bibliothèque | Ucmtcpcicxstub.lib |
IRQL | PASSIVE_LEVEL |