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 |
---|---|
|
La méthode a été appelée à l’irQL incorrect, ou le paramètre Device n’est pas un handle WDFDEVICE valide. |
|
La valeurTaille de la configuration-> n’est pas égale à sizeof(SERCX2_CONFIG). |
|
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. |
|
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 |