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

Un handle WDFDEVICE pour l’objet d’appareil framework qui représente le contrôleur série. Pour plus d'informations, consultez la section Notes.

[in] Config

Pointeur vers une structure de SERCX2_CONFIG allouée à l’appelant qui contient des pointeurs vers un ensemble de fonctions de rappel d’événements implémentées par le pilote de contrôleur série. La version 2 du contrôleur d’infrastructure 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, DMA système ou personnalisé) pris en charge par le pilote.

Valeur retournée

SerCx2InitializeDevice 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 à l’irQL incorrect, ou le paramètre Device n’est pas un handle WDFDEVICE valide.
STATUS_INFO_LENGTH_MISMATCH
La valeurTaille de la configuration-> n’est pas égale à sizeof(SERCX2_CONFIG).
STATUS_INVALID_PARAMETER
Le membre RequestAttributes n’est pas valide ou les fonctions de rappel requises sont manquantes dans la liste des pointeurs de fonction. Pour plus d'informations, consultez la section Notes.
STATUS_INSUFFICIENT_RESOURCES
Les ressources disponibles sont insuffisantes pour effectuer l’opération demandée.

Remarques

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

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

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

Si le membre RequestAttributes de la structure SERCX2_CONFIG a une valeur autre que WDF_NO_OBJECT_ATTRIBUTES, le pilote ne doit pas remplacer les valeurs écrites dans les membres ParentObject, ExecutionLevel et SynchronizationScope 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 par le pilote dans l’appel à SerCx2InitializeDevice. Pour plus d’informations, consultez Transactions Custom-Receive SerCx2 et Transactions Custom-Transmit SerCx2.

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

SERCX2_CONFIG

SerCx2InitializeDeviceInit

WdfDeviceCreate

WdfDeviceInitSetRequestAttributes