Partager via


SerCx2InitializeDevice, fonction (sercx.h)

La méthode SerCx2InitializeDevice termine l’initialisation de l’objet d’appareil framework pour le contrôleur série.

Syntaxe

NTSTATUS SerCx2InitializeDevice(
  [in] WDFDEVICE      Device,
  [in] PSERCX2_CONFIG Config
);

Paramètres

[in] Device

Handle WDFDEVICE pour l’objet d’appareil framework qui représente le contrôleur série. Pour plus d’informations, consultez Remarques.

[in] Config

Pointeur vers une structure SERCX2_CONFIG allouée par l’appelant qui contient des pointeurs vers un ensemble de fonctions de rappel d’événements implémentées par le pilote du contrôleur série. La version 2 du contrôleur de framework série (SerCx2) appelle ces fonctions pour configurer le contrôleur série et effectuer des opérations de base indépendantes des types de transactions d’E/S (PIO, système DMA ou personnalisé) pris en charge par le pilote.

Valeur de retour

SerCx2InitializeDevice retourne STATUS_SUCCESS si l’appel réussit. Les valeurs de retour d’erreur possibles incluent les codes d’état suivants.

Retourner le code Description
STATUS_INVALID_DEVICE_REQUEST
La méthode a été appelée au niveau irQL incorrect, ou le paramètre Device n’est pas un handle WDFDEVICE valide.
STATUS_INFO_LENGTH_MISMATCH
La valeur dede configuration ne correspond pas taille de(SERCX2_CONFIG).
STATUS_INVALID_PARAMETER
Le RequestAttributes membre n’est pas valide, ou les fonctions de rappel requises sont manquantes dans la liste des pointeurs de fonction. Pour plus d’informations, consultez Remarques.
STATUS_INSUFFICIENT_RESOURCES
Les ressources insuffisantes sont disponibles pour effectuer l’opération demandée.

Remarques

Avant d’appeler cette méthode, le pilote du contrôleur série doit avoir appelé la méthode SerCx2InitializeDeviceInit.

Le pilote de contrôleur série doit appeler cette méthode à partir de son EvtDriverDeviceAdd fonction de rappel après avoir créé un objet d’appareil framework pour le contrôleur série. Le pilote appelle généralement une méthode telle que WdfDeviceCreate pour créer l’objet d’appareil framework et obtenir un handle WDFDEVICE pour cet objet.

Trois des pointeurs de fonction de la structure SERCX2_CONFIG sont requis par SerCx2. Le pilote doit implémenter les EvtSerCx2PurgeFifos, EvtSerCx2Controlet EvtSerCx2ApplyConfig fonctions de rappel. Sinon, l’appel SerCx2InitializeDevice échoue et retourne STATUS_INVALID_PARAMETER.

Si le RequestAttributes membre de la structure SERCX2_CONFIG est défini sur une valeur autre que WDF_NO_OBJECT_ATTRIBUTES, le pilote ne doit pas remplacer les valeurs écrites dans ParentObject, ExecutionLevelet SynchronizationScope membres de cette structure par la fonction WDF_OBJECT_ATTRIBUTES_INIT. Sinon, l’appel SerCx2InitializeDevice échoue et retourne STATUS_INVALID_PARAMETER.

Si le pilote appelle la méthode WdfDeviceInitSetRequestAttributes pour définir les attributs à utiliser pour les objets de requête, les attributs de requête spécifiés dans cet appel doivent correspondre aux attributs de requête spécifiés dans l’appel à SerCx2InitializeDevice. Pour plus d’informations, consultez transactions SerCx2 Custom-Receive Transactions et SerCx2 Custom-Transmit Transactions.

Exigences

Exigence Valeur
client minimum pris en charge Disponible à partir de Windows 8.1.
plateforme cible Universel
d’en-tête sercx.h
IRQL PASSIVE_LEVEL

Voir aussi

EvtDriverDeviceAdd

SERCX2_CONFIG

SerCx2InitializeDeviceInit

WdfDeviceCreate

WdfDeviceInitSetRequestAttributes