Fonction SerCx2InitializeDeviceInit (sercx.h)
La méthode SerCx2InitializeDeviceInit permet à la version 2 de l’extension d’infrastructure série (SerCx2) d’inscrire des propriétés spécifiques à l’extension auprès de l’infrastructure du pilote lors de la création de l’objet d’appareil d’infrastructure pour le contrôleur série.
Syntaxe
NTSTATUS SerCx2InitializeDeviceInit(
[in, out] PWDFDEVICE_INIT DeviceInit
);
Paramètres
[in, out] DeviceInit
Pointeur vers une structure WDFDEVICE_INIT , qui est une structure opaque qui stocke les informations que kmDF (Kernel Mode Driver Framework) utilise pour créer un objet d’appareil framework. Le pilote de contrôleur série reçoit un pointeur vers cette structure en tant que paramètre d’entrée vers la fonction de rappel EvtDriverDeviceAdd du pilote.
Valeur retournée
SerCx2InitializeDeviceInit retourne STATUS_SUCCESS si l’appel réussit. Les valeurs de retour d’erreur possibles incluent les codes status suivants.
Code de retour | Description |
---|---|
|
La méthode a été appelée à la valeur IRQL incorrecte ou le paramètre DeviceInit a la valeur NULL. |
|
Les ressources disponibles sont insuffisantes pour effectuer l’opération demandée. |
Remarques
Le pilote de contrôleur série doit appeler cette méthode à partir de sa fonction de rappel EvtDriverDeviceAdd avant de créer un objet WDFDEVICE pour le contrôleur série.
SerCx2InitializeDeviceInit joint des informations spécifiques à l’extension à la structure WDFDEVICE_INIT du pilote. Ces informations permettent à SerCx2 d’effectuer certaines actions pour le compte du pilote de contrôleur série. Par exemple, SerCx2 reçoit les demandes d’E/S que les clients envoient au contrôleur série.
Le pilote de contrôleur série doit appeler SerCx2InitializeDeviceInit avant de créer un objet d’appareil framework pour représenter le contrôleur série et avant d’appeler la méthode SerCx2InitializeDevice pour terminer l’initialisation de l’objet d’appareil. Le pilote appelle une méthode telle que WdfDeviceCreate pour créer l’objet d’appareil.
SerCx2InitializeDeviceInit définit un descripteur de sécurité par défaut qui permet aux pilotes en mode noyau et aux pilotes en mode utilisateur d’envoyer des demandes d’E/S à SerCx2. Le descripteur permet aux applications d’envoyer ces requêtes uniquement si elles s’exécutent avec des privilèges d’administrateur. Pour spécifier ce descripteur, SerCx2 utilise la chaîne SDDL suivante :
"D:P(A;;GA;;;SY)(A;;GA;;;BA)(A;;GA;;;UD)"
Si nécessaire, le pilote de contrôleur série peut remplacer le paramètre par défaut en appelant la méthode WdfDeviceInitAssignSDDLString avec le descripteur de sécurité souhaité. Le pilote doit appeler WdfDeviceInitAssignSDDLString après avoir appelé SerCx2InitializeDeviceInit, mais avant d’appelerWdfDeviceCreate. Pour plus d’informations sur les chaînes SDDL, consultez SDDL for Device Objects.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible à partir de Windows 8.1. |
Plateforme cible | Universal |
En-tête | sercx.h |
IRQL | PASSIVE_LEVEL |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour