Service de noyau devswchg
Objectif
Modification d'un point d'entrée de commutateur d'unité dans la table de commutation d'unité.
Syntaxe
Paramètres
| Article | Descriptif |
|---|---|
| Devno | Indique le Numéros d'unités principaux et mineurs de l'unité à modifier. |
| type | Indique le point d'entrée du commutateur d'unité à modifier. Le paramètre Type peut avoir l'une des valeurs suivantes:
|
| Newfunc | Indique la nouvelle valeur du point d'entrée de commutateur d'unité. |
| Oldfunc | Indique que l'ancienne valeur du point d'entrée du commutateur d'unité doit être renvoyée. Lorsqu'un point d'entrée de commutateur d'unité est modifié de manière conditionnelle, utilisez ce paramètre pour indiquer la fonction qui est comparée au point d'entrée de commutateur d'unité en cours. |
Descriptif
Le service de noyau Devswchg modifie la valeur d'un point d'entrée de commutateur d'unité (pointeur de fonction) une fois qu'une entrée de table de commutation d'unité a été ajoutée par le service de noyau Devswadd . Le point d'entrée du commutateur d'unité indiqué par le paramètre Type est défini sur la valeur du paramètre Newfunc . Sa valeur précédente est renvoyée dans la mémoire traitée par le paramètre Oldfunc . Une seule entrée de commutateur d'unité peut être modifiée par appel.
Le service de noyau devswchg prend également en charge une mise à jour conditionnelle d'un point d'entrée de commutateur de périphérique (pointeur de fonction) après l'ajout d'une entrée de table de commutateurs de périphérique par le service de noyau devswadd . La mise à jour conditionnelle signifie que le point d'entrée de commutateur d'unité spécifié par le paramètre type est défini sur la valeur du paramètre newfunc lorsque le point d'entrée de commutateur d'unité en cours correspond à la valeur de pointeur de fonction spécifiée dans la mémoire traitée par le paramètre oldfunc . Lorsque les pointeurs de fonction ne correspondent pas, le point d'entrée du commutateur d'unité n'est pas mis à jour et la valeur du point d'entrée du commutateur d'unité en cours est renvoyée dans la mémoire adressée par le paramètre oldfunc . Une seule entrée de table de commutateurs d'unité peut être modifiée de manière conditionnelle par appel.
Si le service de noyau devswchg échoue en raison d'erreurs autres qu'un échec de mise à jour conditionnelle, la valeur référencée par le paramètre oldfunc n'est pas définie.
Environnement d'exécution
Le service de noyau Devswchg peut être appelé à partir de l'environnement Processus uniquement.
Valeurs renvoyées
| Article | Descriptif |
|---|---|
| 0 % | Indique une opération réussie. |
| EINVAL | Indique que le paramètre Type n'était pas valide ou que le paramètre oldfunc n'a pas été spécifié pour une mise à jour conditionnelle. |
| ENODEV | Indique que l'entrée de commutateur d'unité spécifiée par le paramètre Devno n'est pas définie. |
| EPERM | Indique que le point d'entrée du commutateur d'unité en cours ne correspond pas au pointeur de fonction spécifié dans la mémoire traitée par le paramètre oldfunc . |