Partager via


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
STATUS_INVALID_DEVICE_REQUEST
La méthode a été appelée à la valeur IRQL incorrecte ou le paramètre DeviceInit a la valeur NULL.
STATUS_INSUFFICIENT_RESOURCES
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

EvtDriverDeviceAdd

SerCx2InitializeDevice

WDFDEVICE_INIT

WdfDeviceCreate

WdfDeviceInitAssignSDLString