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 |
---|---|
|
La méthode a été appelée au niveau irQL incorrect, ou le paramètre Device n’est pas un handle WDFDEVICE valide. |
|
La valeur de |
|
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. |
|
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 |