UcmTcpciPortControllerStop, fonction (ucmtcpciportcontroller.h)

Indique à l’extension de classe UcmTcpciCx l’arrêt de l’envoi de demandes matérielles à l’objet contrôleur de port.

Syntaxe

void UcmTcpciPortControllerStop(
  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 de retour

None

Remarques

Après avoir appelé UcmTcpciPortControllerStop, le pilote client cesse de traiter toutes les demandes sur l’objet contrôleur de port. Cet appel étant synchrone, il est garanti que l’extension de classe n’appellera pas de fonctions de rappel ou n’enverra pas de demandes après son retour. Le pilote ne doit pas appeler cette méthode dans un rappel de contrôleur de port ou pendant que toutes les demandes matérielles non annulables sont en attente.

Un pilote client appelle cette méthode à partir de son implémentation de rappel EVT_WDF_DEVICE_RELEASE_HARDWARE . Après cela, il doit également appeler WdfObjectDelete, au cas où EVT_WDF_DEVICE_RELEASE_HARDWARE est appelé pour le rééquilibrage des ressources. Si vous ne le faites pas, le pilote fuit les objets associés à l’objet contrôleur de port lorsqu’un rééquilibrage des ressources se produit. Le parentage du handle UCMPORTCONTROLLER sur le handle WDFDEVICE n’est pas suffisant, car un WDFDEVICE n’est pas supprimé dans un rééquilibrage des ressources.

Si le pilote passe à un état Dx en raison de S0-Idle, il ne doit pas appeler cette méthode à partir de sa fonction de rappel EVT_WDF_DEVICE_D0_EXIT . La synchronisation avec l’état d’alimentation du pilote peut être obtenue à l’aide d’une file d’attente gérée par l’alimentation pour recevoir des demandes matérielles.

Il est sûr d’appeler UcmTcpciPortControllerStop sur un contrôleur de port qui a déjà été arrêté. Une fois cette méthode retournée, aucune autre méthode à l’exception de UcmTcpciPortControllerStart ne peut être appelée sur le contrôleur de port.

Le pilote client doit appeler cette méthode s’il doit arrêter toutes les actions sur le contrôleur de port afin qu’il puisse effectuer une récupération d’erreur s’il a détecté des problèmes pendant son fonctionnement. Une fois le processus de récupération terminé, le pilote doit redémarrer le contrôleur de port.

L’arrêt du contrôleur met fin à tout contrat pdd actif et à la connexion de type C.

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

Voir aussi

UcmTcpciPortControllerStart