/Error (commutateur)
Le commutateur /Error détermine les types de vérification des erreurs que les stubs générés exécuteront au moment de l’exécution.
Notes
Cette fonctionnalité est obsolète et n’est plus prise en charge. L’utilisation du commutateur /Robust est recommandée.
midl /error { allocation | stub_data | ref | bounds_check | none | all }
Options de commutateur
-
allocation * * * *
-
Vérifie si l' _ _ allocation d’utilisateur MIDL retourne une valeur null , indiquant une erreur de mémoire insuffisante.
-
_données stub * * * *
-
Génère un stub qui intercepte les exceptions d’annulation de marshaling côté serveur et les propage au client.
-
Ref * * * * *
-
Génère du code qui exécute une vérification au moment de l’exécution pour s’assurer qu’aucun pointeur de référence null n’est passé aux stubs du client et déclenche une _ _ _ exception de pointeur Ref null RPC X _ s’il en trouve.
-
contrôle des limites _ * * * *
-
Vérifie la taille des tableaux variables et variables de conformité par rapport à la spécification de longueur de transmission.
-
aucun * * * * *
-
N’effectue aucune vérification des erreurs.
-
tous les * * * *
-
Effectue toutes les vérifications d’erreurs. Efficace avec MIDL version 5,0, il s’agit d’un commutateur de compilateur par défaut.
Remarques
Le commutateur /Error sélectionne le nombre de vérifications d’erreurs effectuées par les fichiers stub générés. En vigueur avec MIDL version 5,0, le paramètre par défaut est /Error All.
Les erreurs d’énumération qui sont vérifiées (par défaut dans toutes les versions de MIDL) sont des erreurs de troncation provoquées lors de la conversion entre des types enum longs (entiers 32 bits) et des types enum courts (la représentation de données réseau de enum) et le nombre d’identificateurs dans une énumération dépassant 32 767.
La vérification des erreurs d’accès à la mémoire (également par défaut dans toutes les versions de MIDL) concerne les pointeurs qui dépassent la fin de la mémoire tampon dans le code de marshaling et les tableaux conformes dont la taille est inférieure à zéro. Utilisez l’indicateur de _ vérification de limites/Error pour rechercher d’autres limites de tableau non valides.
Lorsque vous spécifiez l' allocation de/Error, les stubs incluent du code qui lève une exception lorsque l' _ utilisateur MIDL _ allocate retourne 0.
L’option de _ données de stub/Error empêche les données du client de se bloquer sur le serveur pendant le démarshaling, ce qui offre une méthode plus robuste pour gérer l’opération de démarshaling.
Efficace avec Windows 2000, le moteur de marshaling des NDR à l’exécution sous-jacent effectue la plupart de ces contrôles. Cela signifie que si vous utilisez l’un des modes entièrement interprétés (/OI, /OIF) de la génération du stub, le choix des options de vérification des erreurs différentes n’aura pas d’effet marqué sur les performances.
Exemples
attribution de l’attribution de nom de fichier. idl MIDL
MIDL/Error None nom_fichier. idl