-
MIDL2000
|
-
doit spécifier /c_ext pour les déclarateurs abstraits
- Les déclarateurs abstraits représentent une extension Microsoft à RPC et ne sont pas définis dans DCE RPC. Par conséquent, si votre fichier inclut des déclarateurs abstraits, vous ne pouvez pas le compiler avec le commutateur /osf , qui applique une compatibilité DCE stricte. MIDL versions 3.0 et ultérieures utilisent le commutateur /c_ext comme valeur par défaut ; le commutateur /osf désactive le commutateur /c_ext . Pour plus d’informations sur les déclarateurs abstraits, consultez Le corps ACF.
|
-
MIDL2001
|
-
l’instanciation des données est illégale ; vous devez utiliser « extern » ou « static »
- La déclaration et l’initialisation dans le fichier IDL ne sont pas compatibles avec DCE RPC. Cette fonctionnalité est une extension Microsoft qui n’est pas disponible lorsque vous compilez en mode de compatibilité DCE (/osf).
|
-
MIDL2002
|
-
Dépassement de capacité de la pile du compilateur
- Le compilateur a manqué d’espace de pile pendant le traitement du fichier IDL. Ce problème peut se produire lorsque le compilateur traite une déclaration ou une expression complexe. Pour résoudre le problème, simplifiez la déclaration ou l’expression complexe.
|
-
MIDL2003
|
-
Redéfinition
- Ce message d’erreur peut apparaître dans les circonstances suivantes : un type a été redéfini ; un prototype de procédure a été redéfini; un membre d’une structure ou d’une union du même nom existe déjà; un paramètre du même nom existe déjà dans le prototype.
|
-
MIDL2004
|
-
La liaison [auto_handle] sera utilisée
- Aucun type de handle n’a été défini comme type de handle par défaut. Le compilateur suppose qu’un handle automatique sera utilisé comme handle de liaison pour la procédure spécifiée.
|
-
MIDL2005
|
-
mémoire insuffisante
- Le compilateur a manqué de mémoire pendant la compilation. Réduisez la taille ou la complexité du fichier IDL ou allouez plus de mémoire au processus.
|
-
MIDL2006
|
-
définition récursive
- Une structure ou une union a été définie de manière récursive. Cette erreur peut se produire lorsqu’une spécification de pointeur dans une définition de structure imbriquée est manquée.
|
-
MIDL2007
|
-
importation ignorée ; fichier déjà importé
- L’importation d’un fichier IDL est une opération idempotente. L’inclure plusieurs fois n’a aucun effet. Toutes les opérations d’importation sauf la première sont ignorées.
|
-
MIDL2008
|
-
les énumérations éparses nécessitent /c_ext ou /ms_ext
- L’affectation de valeurs à des constantes d’énumération n’est pas compatible avec DCE RPC. Si vous souhaitez utiliser les extensions Microsoft pour MIDL qui permettent d’attribuer des valeurs à des constantes d’énumération, vous ne pouvez pas compiler avec le commutateur /osf , qui applique une compatibilité DCE stricte. MIDL versions 3.0 et ultérieures utilisent les commutateurs /c_ext et /ms_ext comme valeur par défaut ; le commutateur /osf désactive ces commutateurs d’extension.
|
-
MIDL2009
|
-
symbole non défini
- Un symbole non défini a été utilisé dans une expression. Cette erreur peut se produire lorsque vous utilisez une valeur énumérée non définie.
|
-
MIDL2010
|
-
type utilisé dans le fichier ACF non défini dans le fichier IDL
- Un type non défini est utilisé.
|
-
MIDL2011
|
-
déclaration de type non résolue
- Le type signalé dans le champ informations d’erreur supplémentaire n’a pas été défini ailleurs dans le fichier IDL.
|
-
MIDL2012
|
-
l’utilisation de constantes à caractères larges nécessite /ms_ext ou /c_ext
- Les constantes à caractères larges sont une extension Microsoft de DCE IDL. Pour utiliser le type de données wchar_t, vous ne pouvez pas compiler avec le commutateur /osf , qui remplace les commutateurs par défaut du compilateur MIDL /ms_ext et /c_ext.
|
-
MIDL2013
|
-
l’utilisation de chaînes de caractères larges nécessite /ms_ext ou /c_ext
- Les constantes de chaîne de caractères larges sont une extension Microsoft de DCE IDL. Pour utiliser le type de données wchar_t, vous ne pouvez pas compiler avec le commutateur /osf , qui remplace les commutateurs par défaut du compilateur MIDL /ms_ext et /c_ext.
|
-
MIDL2014
|
-
redéfinition incohérente du type wchar_t
- Le type wchar_t a été redéfini en tant que type qui n’est pas équivalent à dos court non signé *.
|
-
MIDL2015
|
-
importlib introuvable
- Le compilateur n’a pas trouvé la bibliothèque de types spécifiée par la directive [ importlib]. Vérifiez que le chemin d’accès et le nom de la bibliothèque sont corrects.
|
-
MIDL2016
|
-
deux blocs de bibliothèque
- Deux blocs de bibliothèque (même avec des noms différents) dans le même fichier source ne sont pas conformes. Combinez tous les éléments dans un seul bloc de bibliothèque.
|
-
MIDL2017
|
-
L’instruction dispinterface nécessite une définition pour IDispatch
- Cette erreur se produit généralement lorsque les fichiers Stdole2.tlb ou Oaidl.idl ne sont pas importés.
|
-
MIDL2018
|
-
erreur lors de l’accès à la bibliothèque de types
- Le compilateur n’a pas trouvé la bibliothèque de types spécifiée. Vérifiez que vous avez correctement spécifié le chemin d’accès.
|
-
MIDL2019
|
-
erreur d’accès aux informations de type
- La bibliothèque de types importée est endommagée, non valide ou seulement partiellement construite.
|
-
MIDL2020
|
-
erreur lors de la génération de la bibliothèque de types
- La bibliothèque de types n’a pas pu être générée. L’une des causes possibles de cette erreur est la spécification d’un chemin d’accès au fichier IDL de plus de 126 caractères. Oleaut32.dll ne prend pas en charge les noms de chemin d’accès de plus de 126 caractères.
|
-
MIDL2021
|
-
ID dupliqué
- Les applications utilisent l’instruction id dans les fichiers IDL pour spécifier un DISPID pour les fonctions membres. Les fonctions membres peuvent être des propriétés ou des méthodes d’interfaces ou de dispinterfaces. Cette erreur indique que le fichier IDL spécifie le même numéro d’identificateur pour deux méthodes ou propriétés.
|
-
MIDL2022
|
-
valeur non conforme ou manquante pour l’attribut d’entrée
- L’argument de l’attribut d’entrée peut être une chaîne qui spécifie un point d’entrée nommé ou un nombre ordinal qui définit le point d’entrée. Cet argument est manquant ou contient une valeur non valide.
|
-
MIDL2023
|
-
récupération d’erreur suppose
- Le compilateur MIDL a trouvé des caractères non conformes dans le fichier IDL.
|
-
MIDL2024
|
-
récupération d’erreur ignorées
- Le compilateur MIDL a trouvé des caractères non conformes dans le fichier IDL. Il ignore les caractères non conformes.
|
-
MIDL2025
|
-
erreur de syntaxe
- Le compilateur a détecté une erreur de syntaxe à la ligne spécifiée.
|
-
MIDL2026
|
-
ne peut pas récupérer suite à des erreurs de syntaxe antérieures ; abandon de la compilation
- Le compilateur MIDL tente automatiquement de récupérer des erreurs de syntaxe en ajoutant ou en supprimant des éléments syntaxiques. Ce message indique que malgré ces tentatives de récupération, le compilateur a détecté trop d’erreurs. Corrigez la ou les erreurs spécifiées et recompilez.
|
-
MIDL2027
|
-
option de pragma inconnu
- Le pragma C spécifié n’est pas pris en charge dans MIDL. Supprimez le pragma du fichier IDL.
|
-
MIDL2028
|
-
fonctionnalité non implémentée
- La fonctionnalité MIDL, bien qu’elle fait partie de la définition du langage, n’est pas implémentée dans Microsoft RPC et n’est pas prise en charge par le compilateur MIDL. Par exemple, les fonctionnalités de langage suivantes ne sont pas implémentées : bitset, pipe et le type de caractère international. La fonctionnalité de langue non implémentée apparaît dans le champ informations d’erreur supplémentaire du message d’erreur.
|
-
MIDL2029
|
-
type non implémenté
- Le type de données spécifié, bien qu’il s’agisse d’une mot clé MIDL légale, n’est pas implémenté dans Microsoft RPC.
|
-
MIDL2030
|
-
pointeur non utilisé dans une opération de déréférencement
- Un type de données qui n’est pas un pointeur a été associé à des opérations de pointeur. Vous ne pouvez pas accéder à l’objet via le pointeur non spécifié.
|
-
MIDL2031
|
-
expression a une division par zéro
- L’expression constante contient la division par zéro.
|
-
MIDL2032
|
-
expression utilise des types incompatibles
- Les côtés gauche et droit de l’opérateur dans une expression sont de types incompatibles.
|
-
MIDL2033
|
-
L’expression non-array utilise l’opérateur d’index
- L’expression utilise l’opération d’indexation de tableau sur un élément de données qui n’est pas du type de tableau.
|
-
MIDL2034
|
-
le côté gauche de l’expression ne prend pas la valeur struct/union/enum
- L’opérateur de référence directe ou indirecte « . » ou « -> » a été appliqué à un objet de données qui n’est pas une structure, une union ou une énumération. Vous ne pouvez pas obtenir une référence directe ou indirecte à l’aide de l’objet spécifié.
|
-
MIDL2035
|
-
expression constante attendue
- Une expression constante était attendue dans la syntaxe. Par exemple, les limites de tableau nécessitent une expression constante. Le compilateur émet ce message d’erreur lorsque la liaison de tableau est définie avec une variable ou un symbole non défini.
|
-
MIDL2036
|
-
l’expression ne peut pas être évaluée au moment de la compilation
- Le compilateur ne peut pas évaluer une expression au moment de la compilation.
|
-
MIDL2037
|
-
expression non implémentée
- Une fonctionnalité qui était prise en charge dans les versions précédentes du compilateur MIDL n’est pas prise en charge dans la version du compilateur fournie avec Microsoft RPC. Supprimez l’expression spécifiée.
|
-
MIDL2038
|
-
aucun attribut [pointer_default] spécifié, en supposant [unique] pour tous les pointeurs non attribués
- Le compilateur MIDL propose trois cas par défaut différents pour les pointeurs qui n’ont pas d’attributs de pointeur. Les paramètres de fonction qui sont des pointeurs de niveau supérieur sont par défaut des pointeurs [ref]. Les pointeurs incorporés dans les structures et les pointeurs vers d’autres pointeurs (et non des pointeurs de niveau supérieur) correspondent par défaut au type spécifié par l’attribut [pointer_default]. Lorsqu’aucun attribut [pointer_default] n’est fourni, ces pointeurs de niveau supérieur sont par défaut des pointeurs uniques. Ce message d’erreur indique le dernier cas : aucun attribut [pointer_default] n’est fourni et au moins un pointeur de niveau supérieur sera traité comme un pointeur unique. Pour plus d’informations, consultez Types de pointeurs par défaut.
|
-
MIDL2039
|
-
l’interface n’est pas conforme à l’automatisation du marshaling
- L’interface ne répond pas aux exigences d’une interface OLE Automation. Vérifiez que l’interface est dérivée de IUnknown ou IDispatch.
|
-
MIDL2040
|
-
[out] seul le paramètre ne peut pas être un pointeur vers une structure ouverte
- Un paramètre [out]-only a été utilisé comme pointeur vers une structure, appelée structure ouverte, dont la plage et la taille transmises sont déterminées au moment de l’exécution. Le stub du serveur ne sait pas combien d’espace allouer pour une structure ouverte. Utilisez un pointeur vers un pointeur vers la structure ouverte et assurez-vous que l’application serveur lui alloue suffisamment d’espace.
|
-
MIDL2041
|
-
[out] seul le paramètre ne peut pas être une chaîne non mise en valeur
- Un tableau avec l’attribut string a été déclaré en tant que paramètre [out]-only sans spécification de taille. Le stub du serveur a besoin d’informations de taille pour allouer de la mémoire à la chaîne. Vous pouvez supprimer l’attribut string et ajouter l’attribut [size_is] ou remplacer le paramètre par un paramètre [in, out].
|
-
MIDL2042
|
-
Le paramètre [out] n’est pas un pointeur
- Tous les paramètres [out] doivent être des pointeurs, conformément à la convention d’appel par valeur du langage de programmation C. Le paramètre directionnel [out] indique que le serveur transmet une valeur au client. Avec la convention d’appel par valeur, le serveur peut transmettre des données au client uniquement si l’argument de fonction est un pointeur.
|
-
MIDL2043
|
-
open structure ne peut pas être un paramètre
- Une structure ouverte contient un tableau conforme comme dernier élément. Une structure ou une union est tronquée lorsque le dernier élément de cette structure ou union est un tableau conforme.
|
-
MIDL2044
|
-
[out] handle de contexte/handle générique doit être spécifié en tant que pointeur vers ce type de handle
- Un paramètre de handle de contexte ou de handle défini par l’utilisateur avec l’attribut directionnel [out] doit être un pointeur vers un pointeur.
|
-
MIDL2045
|
-
le handle de contexte ne doit pas dériver d’un type qui a l’attribut [transmit_as]
- Les handles de contexte doivent être transmis en tant que types de handles de contexte. Ils ne peuvent pas être transmis comme d’autres types et ne peuvent pas dériver de [transmit_is], [represent_as], [wire_marshal] ou [user_marshal].
|
-
MIDL2046
|
-
impossible de spécifier un nombre variable d’arguments pour une procédure distante
- Les appels de procédure distante qui spécifient un nombre variable d’arguments au moment de la compilation ne sont pas compatibles avec la définition RPC DCE. Vous ne pouvez pas utiliser un nombre variable d’arguments dans Microsoft RPC.
|
-
MIDL2047
|
-
le paramètre nommé ne peut pas être « void »
- Un paramètre avec le type de base void est spécifié avec un nom.
|
-
MIDL2048
|
-
le paramètre dérive de « coclasse » ou « module »
- La coclasse spécifie un objet de niveau supérieur qui contient des interfaces et des dispinterfaces. Il ne peut pas être passé en tant que paramètre.
|
-
MIDL2049
|
-
seul le premier paramètre peut être un handle de liaison ; vous devez spécifier le commutateur /ms_ext
- DCE RPC autorise uniquement le premier paramètre à être un handle de liaison. La compilation avec le commutateur /osf désactive le commutateur /ms_ext par défaut qui prend en charge plusieurs paramètres de handle et de handle autres que la position la plus à gauche.
|
-
MIDL2050
|
-
impossible d’utiliser [comm_status] sur un paramètre et un type de retour
- La procédure et l’un de ses paramètres ont l’attribut [comm_status].
L’attribut [comm_status] spécifie qu’un seul objet de données à la fois peut être de type error_status_t.
|
-
MIDL2051
|
-
L’attribut [local] d’une procédure nécessite /ms_ext
- L’attribut [local] est une extension Microsoft à DCE IDL. Pour utiliser cet attribut sur une fonction, vous ne pouvez pas compiler avec le commutateur /osf . Le commutateur /osf remplace les commutateurs par défaut du compilateur MIDL /ms_ext et /c_ext.
|
-
MIDL2052
|
-
les attributs de propriété ne peuvent être utilisés qu’avec des procédures
- Utilisation incorrecte d’un attribut [propget], [propput] ou [propputref]. Vérifiez que vous avez correctement orthographié le nom de la fonction de la propriété et que la propriété et la fonction portent le même nom.
|
-
MIDL2053
|
-
une procédure ne peut pas avoir plus d’un attribut de propriété
- Au maximum, un seul des attributs [propget], [propput] ou [propputref] peut être spécifié pour une fonction.
|
-
MIDL2054
|
-
la procédure a une combinaison non conforme d’attributs d’opération
- Certains attributs ne peuvent pas être utilisés en relation avec d’autres attributs. Consultez la référence du langage MIDL pour connaître les exigences et la syntaxe exactes des attributs utilisés dans cette procédure.
|
-
MIDL2055
|
-
le champ dérivant d’un tableau conforme doit être le dernier membre de la structure
- La structure contient un tableau conforme qui n’est pas le dernier élément de la structure. Le tableau conforme doit apparaître en tant que dernier élément de structure.
|
-
MIDL2056
|
-
dupliquer l’étiquette [case]
- Une étiquette de casse en double a été spécifiée. L’étiquette dupliquée s’affiche.
|
-
MIDL2057
|
-
aucun cas [par défaut] spécifié pour l’union discriminée
- Une union discriminée a été spécifiée sans cas par défaut.
|
-
MIDL2058
|
-
l’expression d’attribut ne peut pas être résolue
- L’expression associée à l’attribut ne peut pas être résolue. Cette erreur se produit généralement lorsqu’une variable qui apparaît dans l’expression n’est pas définie. Par exemple, l’erreur peut se produire lorsque la variable s n’est pas définie et est utilisée par l’attribut [size_is].
|
-
MIDL2059
|
-
l’expression d’attribut doit être de type intégral, aucune prise en charge des expressions 64 bits
- La variable ou l’expression d’attribut spécifiée doit être un type intégral. Cette erreur se produit lorsque le type attribute-expression ne se résout pas en entier.
|
-
MIDL2060
|
-
[byte_count] nécessite /ms_ext
-
L’attribut [byte_count] est une extension Microsoft à DCE IDL. Pour utiliser cet attribut, vous ne pouvez pas compiler avec le commutateur /osf , qui remplace les commutateurs par défaut du compilateur MIDL /ms_ext et /c_ext.
|
-
MIDL2061
|
-
[byte_count] peut être appliqué uniquement aux paramètres sortants de type pointeur
-
L’attribut [byte_count] ne peut être appliqué qu’aux paramètres [out] et tous les paramètres [out] doivent être des types pointeurs.
|
-
MIDL2062
|
-
[byte_count] ne peut pas être spécifié sur un pointeur vers un tableau ou une structure conforme
-
L’attribut [byte_count] ne peut pas être appliqué à un tableau ou à une structure conforme.
|
-
MIDL2063
|
-
paramètre spécifiant le nombre d’octets n’est pas uniquement [in] ou le paramètre de nombre d’octets n’est pas [out] uniquement
- La valeur associée au [byte_count] doit être transmise du client au serveur ; il doit s’agir d’un paramètre [in]. Le paramètre [byte_count] n’a pas besoin d’être un paramètre [in, out].
|
-
MIDL2064
|
-
paramètre spécifiant le nombre d’octets n’est pas un type intégral
- La valeur associée au nombre d’octets doit être le type entier int, small, short ou long.
|
-
MIDL2065
|
-
[byte_count] ne peut pas être spécifié sur un paramètre avec des attributs de taille
- L’attribut [byte_count] ne peut pas être utilisé avec d’autres attributs de taille tels que [size_is] ou [length_is].
|
-
MIDL2066
|
-
L’expression [case] n’est pas constante
- L’expression spécifiée pour l’étiquette case n’est pas une constante.
|
-
MIDL2067
|
-
[case] expression n’est pas de type intégral
- L’expression spécifiée pour l’étiquette case n’est pas un type entier.
|
-
MIDL2068
|
-
la spécification de [context_handle] sur un type autre que void * nécessite /ms_ext
- Pour la compatibilité DCE-RPC, le handle de contexte doit être un pointeur de type void *. Si vous souhaitez que les descripteurs de contexte soient associés à des types autres que void *, n’utilisez pas le commutateur de compilateur MIDL /osf, qui remplace le commutateur par défaut du compilateur MIDL /ms_ext.
|
-
MIDL2069
|
-
ne peut pas spécifier plusieurs paramètres avec chacun des comm_status/fault_status
- Une procédure ne peut avoir qu’un seul paramètre avec l’attribut [comm_status]. Il peut avoir au plus un paramètre avec l’attribut [fault_status].
|
-
MIDL2070
|
-
comm_status/fault_status paramètre doit être un paramètre de pointeur [out] uniquement
- Les types de code d’erreur [comm_status] et [fault_status] sont transmis du serveur au client et doivent donc être spécifiés en tant que paramètre [out]. En raison des contraintes du langage de programmation C, tous les paramètres [out] doivent être des pointeurs.
|
-
MIDL2071
|
-
Erreur de syntaxe de point de terminaison
- La syntaxe du point de terminaison est incorrecte.
|
-
MIDL2072
|
-
attribut inapplicable
- L’attribut spécifié ne peut pas être appliqué dans cette construction. Par exemple, l’attribut string s’applique aux tableaux de caractères ou aux pointeurs char et ne peut pas être appliqué à une structure qui se compose de deux entiers courts :
typedef [string] struct moo
{
short x;
short y;
};
|
-
MIDL2073
|
-
[allocate] nécessite /ms_ext
- L’attribut allocate représente une extension Microsoft qui n’est pas définie dans le cadre de DCE RPC. Pour utiliser cet attribut, vous ne pouvez pas compiler avec le commutateur /osf , qui remplace le commutateur par défaut du compilateur MIDL /ms_ext
|
-
MIDL2074
|
-
mode [allocation] non valide
- Un mode non valide pour la construction d’attribut [allouer] a été spécifié. Les quatre modes valides sont single_node, all_nodes, on_null et toujours.
|
-
MIDL2075
|
-
les attributs de longueur ne peuvent pas être appliqués avec l’attribut string
- Lorsque l’attribut string est utilisé, les fichiers stub générés appellent la fonction strlen pour déterminer la longueur de la chaîne. N’utilisez pas l’attribut length et l’attribut string pour la même variable.
|
-
MIDL2076
|
-
[last_is] et [length_is] ne peuvent pas être spécifiés en même temps
- [last_is] et [length_is] ont été spécifiés pour le même tableau. Ces attributs sont liés comme suit : length = last first + 1. Étant donné que chaque valeur peut être dérivée de l’autre, ne spécifiez pas les deux.
|
-
MIDL2077
|
-
[max_is] et [size_is] ne peuvent pas être spécifiés simultanément
- [ max_is] et [ size_is] ont été spécifiés pour le même tableau. Ces attributs sont liés comme suit : max = size + 1. Étant donné que chaque valeur peut être dérivée de l’autre, ne spécifiez pas les deux.
|
-
MIDL2078
|
-
attribut no [switch_is] spécifié lors de l’utilisation de l’union
- Aucun discriminant n’a été spécifié pour le syndicat.
L’attribut [switch_is] indique le discriminant utilisé pour sélectionner parmi les champs d’union.
|
-
MIDL2079
|
-
no [uuid] spécifié
- Aucun UUID n’a été spécifié pour l’interface.
|
-
MIDL2080
|
-
[uuid] ignoré sur l’interface [local]
- L’utilisation de l’attribut [local] sur une interface objet entraîne l’ignorer par le compilateur MIDL de l’attribut [uuid]. Vous ne pouvez pas utiliser les deux attributs sur une interface RPC.
|
-
MIDL2081
|
-
incompatibilité de type entre les expressions d’attribut length et size
- Les expressions d’attribut de longueur et de taille doivent être des mêmes types. Par exemple, cet avertissement est émis lorsque la variable d’attribut de l’expression [size_is] est de type long non signé et que la variable d’attribut pour l’expression [length_is] est de type long.
|
-
MIDL2082
|
-
L’attribut [string] doit être spécifié « byte », « char » ou « wchar_t » tableau ou pointeur
- Un attribut de chaîne ne peut pas être appliqué à un pointeur ou un tableau dont le type de base n’est pas un octet, un char ou un struct dans lequel les membres sont tous de type octet ou char .
|
-
MIDL2083
|
-
incompatibilité entre le type de l’expression [switch_is] et le type de commutateur de l’union
- Si l’union [switch_type] n’est pas spécifiée, le type de commutateur est le même que le champ [switch_is].
|
-
MIDL2084
|
-
[transmit_as] ne doit pas être appliqué à un type qui dérive d’un handle de contexte
- Les handles de contexte ne peuvent pas être transmis comme d’autres types.
|
-
MIDL2085
|
-
[transmit_as] doit spécifier un type transmissible
- Le type [transmit_as] spécifié dérive d’un type qui ne peut pas être transmis par Microsoft RPC, tel que void, void *ou int. Utilisez un type de base RPC défini ; dans le cas de int, ajoutez des spécificateurs de taille tels que small, short ou long pour qualifier l’int.
|
-
MIDL2086
|
-
le type transmis pour [transmit_as] et [represent_as] ne doit pas être un pointeur ou dériver d’un pointeur
- Le type transmis ne peut pas être un pointeur ou dériver d’un pointeur.
|
-
MIDL2087
|
-
le type présenté pour [transmit_as] et [represent_as] ne doit pas dériver d’un tableau conforme/variable, de son équivalent de pointeur ou d’une structure conforme/variable
- Le type auquel [transmit_as] a été appliqué ne peut pas dériver d’un tableau ou d’une structure conforme (tableau ou structure dont la taille est déterminée au moment de l’exécution).
|
-
MIDL2088
|
-
Le format [uuid] est incorrect
- Le format UUID n’est pas conforme à la spécification. L’UUID doit être une chaîne qui se compose de cinq séquences de chiffres hexadécimaux de longueur 8, 4, 4, 4 et 12 chiffres. « 12345678-1234-ABCD-EF01-28A49C28F17D » est un UUID valide. Utilisez la fonction UuidCreate ou un utilitaire pour générer un UUID valide.
|
-
MIDL2089
|
-
uuid n’est pas un nombre hexadécimal
- L’UUID spécifié pour l’interface contient des caractères non valides dans une représentation numérique hexadécimale. Les caractères 0 à 9 et A à F sont valides dans une représentation hexadécimale.
|
-
MIDL2090
|
-
les paramètres facultatifs doivent venir après les paramètres requis
- Pour obtenir une description de l’ordre des listes de paramètres, consultez [facultatif] dans la référence du langage MIDL.
|
-
MIDL2091
|
-
[dllname] obligatoire lorsque [entry] est utilisé
- Si vous spécifiez un point d’entrée dans une DLL, vous devez également spécifier le nom de cette DLL à l’aide de l’attribut [dllname].
|
-
MIDL2092
|
-
[pouvant être lié] n’est pas valide sans [propget], [propput] ou [propputref]
- L’attribut [pouvant être lié] est valide uniquement sur une propriété. Par conséquent, vous devez également spécifier l’une des fonctions d’accès à la propriété ou de paramètre de propriété.
|
-
MIDL2093
|
-
les procédures avec [propput] ou [propputref] doivent avoir au moins un paramètre
- Une procédure [propput] ou [ propputref] doit avoir au moins un paramètre [in] avec la propriété à définir ; une procédure [propget] doit avoir au moins un paramètre [out, retval] pour recevoir la propriété ou la référence.
|
-
MIDL2094
|
-
L’attribut [id] est requis
- Cette fonction membre, en raison de la syntaxe dispinterface utilisée, nécessite un DISPID que vous spécifiez à l’aide de l’attribut [ id]. Lorsque vous spécifiez une dispinterface à l’aide de propriétés et de méthodes, vous devez spécifier un DISPID pour chaque propriété et méthode.
|
-
MIDL2095
|
-
le nom d’interface spécifié dans le fichier ACF ne correspond pas à celui spécifié dans le fichier IDL
- En mode compilateur actuel, le nom qui suit l’interface mot clé dans le fichier ACF doit être identique au nom qui suit l’interface mot clé dans le fichier IDL. Les noms d’interface dans les fichiers IDL et ACF peuvent être différents lorsque vous compilez avec le commutateur du compilateur MIDL /acf.
|
-
MIDL2096
|
-
attribut dupliqué
- Des attributs en double ou en conflit ont été spécifiés. Cette erreur se produit souvent lorsque deux attributs s’excluent mutuellement. Par exemple, les attributs [code] et [nocode] ne peuvent pas être utilisés en même temps.
|
-
MIDL2097
|
-
le paramètre avec l’attribut [comm_status] ou [fault_status] doit être un pointeur vers le type error_status_t
- Lorsque [fault_status] ou [comm_status] est utilisé comme attribut de paramètre, le paramètre doit être un paramètre [out] de type error_status_t. Si une erreur de serveur se produit, le paramètre est défini sur le code d’erreur. Une fois l’appel distant terminé, la procédure définit la valeur.
|
-
MIDL2098
|
-
une procédure [local] ne peut pas être spécifiée dans le fichier ACF
- Une procédure locale a été spécifiée dans ACF. La procédure locale ne peut être spécifiée que dans le fichier IDL.
|
-
MIDL2099
|
-
le type spécifié n’est pas défini en tant que handle
- Le type spécifié dans l’attribut [implicit_handle] n’est pas défini comme type de handle. Modifiez la définition de type ou le nom de type spécifié par l’attribut.
|
-
MIDL2100
|
-
procédure non définie
- Un attribut a été appliqué à une procédure dans l’ACF, et cette procédure n’est pas définie dans le fichier IDL.
|
-
MIDL2101
|
-
ce paramètre n’existe pas dans le fichier IDL
- Un paramètre spécifié dans le fichier ACF n’existe pas dans la définition du fichier IDL. Tous les paramètres, fonctions et définitions de type qui apparaissent dans le fichier ACF doivent correspondre aux paramètres, fonctions et types précédemment définis dans le fichier IDL.
|
-
MIDL2102
|
-
cette construction de limites de tableau n’est pas prise en charge
- MIDL prend actuellement en charge l’expression des limites supérieure et inférieure d’un tableau sous la forme Tableau[Inférieur .. Supérieur] uniquement lorsque la constante qui spécifie la limite inférieure du tableau est résolue à la valeur zéro.
|
-
MIDL2103
|
-
spécification liée au tableau est illégale
- La spécification utilisateur des limites de tableau pour le tableau de taille fixe est illégale. Par exemple :
typedef short Array[-1]
|
-
MIDL2104
|
-
pointeur vers un tableau conforme ou un tableau qui contient un tableau conforme n’est pas pris en charge
- Utilisation de tableau conforme non conforme. Pour connaître les règles régissant les tableaux conformes, consultez Tableaux et RPC.
|
-
MIDL2105
|
-
pointee/array ne dérive aucune taille
- Un tableau conforme a été spécifié sans spécification de taille. Vous pouvez spécifier la taille avec l’attribut [max_is] ou [size_is].
|
-
MIDL2106
|
-
seuls les tableaux fixes et les SAFEARRAYs sont légaux dans une bibliothèque de types
- Vous avez utilisé un type de tableau à l’intérieur d’une instruction de bibliothèque qui ne peut pas être utilisé dans une bibliothèque de types.
|
-
MIDL2107
|
-
LES SAFEARRAYs ne sont légaux qu’à l’intérieur d’un bloc de bibliothèque
- Le compilateur MIDL ne reconnaît pas un SAFEARRAY en tant que type de données valide, sauf lors de la génération d’une bibliothèque de types.
|
-
MIDL2108
|
-
constante de caractère mal formée
- Le caractère de fin de ligne n’est pas autorisé dans les constantes de caractères.
|
-
MIDL2109
|
-
fin du fichier trouvé dans le commentaire
- Le caractère de fin de fichier a été rencontré dans un commentaire.
|
-
MIDL2110
|
-
fin du fichier trouvé dans la chaîne
- Le caractère de fin de fichier a été rencontré dans une chaîne.
|
-
MIDL2111
|
-
la longueur de l’identificateur dépasse 31 caractères
- Les identificateurs sont limités à 31 caractères alphanumériques. Les noms d’identificateur de plus de 31 caractères sont tronqués.
|
-
MIDL2112
|
-
fin de ligne trouvée dans la chaîne
- Le caractère de fin de ligne a été rencontré dans la chaîne. Vérifiez que vous avez inclus le caractère guillemet double qui termine la chaîne.
|
-
MIDL2113
|
-
la constante string dépasse la limite de 255 caractères
- La chaîne a dépassé la longueur maximale autorisée de 255 caractères.
|
-
MIDL2114
|
-
l’identificateur dépasse la limite de 255 caractères et a été tronqué
- L’identificateur a dépassé la longueur maximale autorisée de 255 caractères. Les caractères excédentaires de l’identificateur sont tronqués.
|
-
MIDL2115
|
-
constante trop grande
- La constante est trop grande pour être représentée en interne.
|
-
MIDL2116
|
-
erreur d’analyse numérique
- Le compilateur n’a pas pu analyser l’identificateur numérique.
|
-
MIDL2117
|
-
erreur lors de l’ouverture du fichier
- Le système d’exploitation a signalé une erreur lors de la tentative d’ouverture d’un fichier de sortie. Cette erreur peut être provoquée par un nom trop long pour le système de fichiers ou par un nom de fichier en double.
|
-
MIDL2118
|
liaison d’erreur à la fonction
|
-
MIDL2119
|
erreur lors de l’initialisation d’OLE
|
-
MIDL2120
|
erreur lors du chargement de la bibliothèque
|
-
MIDL2121
|
-
[out] seul le paramètre ne doit pas dériver d’un pointeur/tableau de niveau supérieur [unique] ou [ptr]
- Un pointeur unique ne peut pas être un paramètre [out]-only. Par définition, un pointeur unique peut passer de NULL à non NULL. Aucune information sur le paramètre [out]-only n’est transmise du client au serveur.
|
-
MIDL2122
|
-
l’attribut n’est pas applicable à cette union non rpcable
- Seuls les attributs [switch_is] et [switch_type] s’appliquent à une union transmise dans le cadre d’un appel de procédure distante.
|
-
MIDL2123
|
-
expression utilisée pour un attribut size ne doit pas dériver d’un paramètre [out]-only
- La valeur d’un paramètre [out]-only n’est pas transmise au serveur et ne peut pas être utilisée pour déterminer la longueur ou la taille du paramètre [in].
|
-
MIDL2124
|
-
expression utilisée pour un attribut length pour un paramètre [in] ne peut pas dériver d’un paramètre [out]-only
- La valeur d’un paramètre [out]-only n’est pas transmise au serveur et ne peut pas être utilisée pour déterminer la longueur ou la taille du paramètre [in].
|
-
MIDL2125
|
-
utilisation des besoins « int » /c_ext
- MIDL est un langage fortement typé. Tous les paramètres transmis sur le réseau doivent être dérivés de l’un des types de base MIDL. Le type int n’est pas défini dans le cadre de MIDL. Les données transmises doivent inclure un spécificateur de taille : petit, court ou long. Les données qui ne sont pas transmises sur le réseau peuvent être incluses dans une interface ; utilisez le commutateur /c_ext .
|
-
MIDL2126
|
-
le champ struct/union ne doit pas être « void »
- Les champs d’une structure ou d’une union doivent être déclarés comme étant d’un type de base spécifique pris en charge par MIDL ou d’un type dérivé des types de base. Les types Void ne sont pas autorisés dans les opérations distantes.
|
-
MIDL2127
|
-
l’élément array ne doit pas être void
- Un élément de tableau ne peut pas être void.
|
-
MIDL2128
|
-
l’utilisation de qualificateurs de type et/ou de modificateurs a besoin de /c_ext
- Les modificateurs de type tels que _cdecl et _far ne peuvent être compilés que si vous spécifiez le commutateur /c_ext .
|
-
MIDL2129
|
-
Le champ struct/union ne doit pas dériver d’une fonction
- Les champs d’une structure ou d’une union doivent être des types de base MIDL ou des types dérivés de ces types de base. Les fonctions ne sont pas légales dans les domaines de structure ou d’union.
|
-
MIDL2130
|
-
l’élément array ne doit pas être une fonction
- Un élément de tableau ne peut pas être une fonction.
|
-
MIDL2131
|
-
le paramètre ne doit pas être une fonction
- Le paramètre d’une procédure distante doit être une variable d’un type spécifié. Une fonction ne peut pas être un paramètre de la procédure distante.
|
-
MIDL2132
|
-
struct/union avec des champs de bits a besoin de /c_ext
- Vous devez spécifier le commutateur du compilateur MIDL /c_ext pour autoriser les champs de bits dans les structures qui ne sont pas transmises dans un appel de procédure distante.
|
-
MIDL2133
|
-
spécification de champ bit sur un type autre que « int » est une extension non compatible ANSI
- La spécification du langage de programmation ANSI C n’autorise pas l’application de champs de bits à des types non-contenus.
|
-
MIDL2134
|
-
La spécification de champ bit ne peut être appliquée qu’aux types intégraux simples
- La spécification du langage de programmation ANSI C n’autorise pas l’application de champs de bits à des types non-contenus.
|
-
MIDL2135
|
-
Le champ struct/union ne doit pas dériver de handle_t ou d’un handle de contexte
- Les handles de contexte ne peuvent pas être transmis dans le cadre d’une autre structure. Ils doivent être transmis en tant que handles de contexte.
|
-
MIDL2136
|
-
l’élément array ne doit pas dériver de handle_t ou d’un handle de contexte
- Les handles de contexte ne peuvent pas être transmis dans le cadre d’un tableau.
|
-
MIDL2137
|
-
cette spécification de l’union a besoin de /c_ext
- Une union qui apparaît dans la définition de l’interface doit être associée au discriminant ou déclarée comme locale. Les données qui ne sont pas transmises sur le réseau peuvent être déclarées implicitement comme locales lorsque vous utilisez le commutateur /c_ext , qui est la valeur par défaut midl. Vous ne pouvez pas compiler cet IDL avec le commutateur /osf .
|
-
MIDL2138
|
-
le paramètre dérivant d’un « int » doit avoir le spécificateur de taille « small », « short » ou « long » avec « int »
- Le type int est uniquement un type MIDL valide sur les plateformes 32 bits, sur les systèmes 16 bits int doit être accompagné d’une spécification de taille. Utilisez l’un des spécificateurs de taille small, short ou long.
|
-
MIDL2139
|
-
type du paramètre ne peut pas dériver de void ou void*
- MIDL est un langage fortement typé. Tous les paramètres transmis sur le réseau doivent être dérivés de l’un des types de base MIDL. MIDL ne prend pas en charge void en tant que type de base. Vous devez remplacer la déclaration par un type MIDL valide.
|
-
MIDL2140
|
-
le paramètre dérivant d’un struct/union contenant des champs de bits n’est pas pris en charge
- Les champs de bits ne sont pas définis comme un type de données valide par DCE RPC.
|
-
MIDL2141
|
-
l’utilisation d’un paramètre dérivant d’un type contenant type-modificateurs/type-qualificateurs nécessite /c_ext
- L’utilisation de mots clés tels que far, near, const et volatile dans le fichier IDL est une extension Microsoft à DCE RPC. Ces mots clés ne sont pas disponibles lorsque vous compilez avec le commutateur /osf , ce qui désactive le commutateur d’extension /c_ext par défaut.
|
-
MIDL2142
|
-
le paramètre ne doit pas dériver d’un pointeur vers une fonction
- Les bibliothèques d’exécution RPC transmettent un pointeur et ses données associées entre le client et le serveur. Les pointeurs vers des fonctions ne peuvent pas être transmis en tant que paramètres, car la fonction ne peut pas être transmise sur le réseau.
|
-
MIDL2143
|
-
le paramètre ne doit pas dériver d’une union prenant en charge nonrpc
- L’union doit être associée à un discriminant. Utilisez les attributs [switch_is] et [switch_type].
|
-
MIDL2144
|
-
le type de retour dérive d’un « int ». Vous devez utiliser des spécificateurs de taille avec « int »
- Sur les systèmes 16 bits, le type int n’est pas un type MIDL valide, sauf s’il est accompagné d’une spécification de taille. Utilisez l’un des spécificateurs de taille small, short ou long.
|
-
MIDL2145
|
-
le type de retour ne doit pas dériver d’un pointeur void
- MIDL est un langage fortement typé. Tous les paramètres transmis sur le réseau doivent être dérivés de l’un des types de base MIDL. Les types Void ne sont pas définis dans le cadre de MIDL. Vous devez remplacer la déclaration par un type MIDL valide.
|
-
MIDL2146
|
-
le type de retour ne doit pas dériver d’une structure/union contenant des champs binaires
- Les champs de bits ne sont pas définis comme un type de données valide par DCE RPC.
|
-
MIDL2147
|
-
le type de retour ne doit pas dériver d’une union prenant en charge non la fonction
- L’union doit être associée à un discriminant. Utilisez les attributs [switch_is] et [switch_type].
|
-
MIDL2148
|
-
le type de retour ne doit pas dériver d’un pointeur vers une fonction
- Les bibliothèques d’exécution RPC transmettent un pointeur et ses données associées entre le client et le serveur. Les pointeurs vers les fonctions ne peuvent pas être transmis en tant que paramètres, car RPC ne définit pas de méthode pour transmettre la fonction associée sur le réseau.
|
-
MIDL2149
|
-
les initialiseurs composés ne sont pas pris en charge
- DCE RPC prend uniquement en charge l’initialisation simple. La structure ou le tableau ne peut pas être initialisé dans le fichier IDL.
|
-
MIDL2150
|
-
Les attributs ACF dans le fichier IDL ont besoin du commutateur /app_config
- Une extension Microsoft vous permet de spécifier des attributs ACF dans le fichier IDL. Utilisez le commutateur /app_config pour activer cette extension.
|
-
MIDL2151
|
-
commentaire de ligne unique a besoin de /ms_ext ou /c_ext
- Les commentaires sur une seule ligne qui utilisent deux barres obliques (//) représentent une extension Microsoft au RPC DCE. Vous ne pouvez pas utiliser de commentaires sur une seule ligne si vous compilez avec le commutateur /osf .
|
-
MIDL2152
|
-
Le format [version] est incorrect
- Le numéro de version de l’interface dans l’en-tête d’interface doit être spécifié au format principal. mineure, où chaque nombre peut être compris entre 0 et 65535.
|
-
MIDL2153
|
-
« signed » a besoin de /ms_ext ou /c_ext
- L’utilisation de la mot clé signée est une extension Microsoft à DCE RPC. Vous ne pouvez pas utiliser le commutateur /osf si vous souhaitez utiliser cette fonctionnalité.
|
-
MIDL2154
|
-
incompatibilité dans le type d’affectation
- Le type de la variable ne correspond pas au type de la valeur affectée à la variable.
|
-
MIDL2155
|
-
la déclaration doit être de la forme : const <type> \<declarator> = <initialisation de l’expression>
- La déclaration n’est pas compatible avec la syntaxe RPC DCE. Utilisez le commutateur de mode de compilateur /ms_ext ou /c_ext MIDL.
|
-
MIDL2156
|
-
la déclaration doit avoir « const »
- Les déclarations dans le fichier IDL doivent être des expressions constantes qui utilisent le mot clé const, par exemple :
const short x = 2;
|
-
MIDL2157
|
-
struct/union/enum ne doit pas être défini dans une spécification de type paramètre
- La structure, l’union ou le type énuméré doivent être explicitement indiqués en dehors du prototype de fonction.
|
-
MIDL2158
|
-
L’attribut [allouer] doit être appliqué uniquement sur les types de pointeurs non vides
- L’attribut [allouer] est conçu pour les structures de données complexes basées sur un pointeur. Lorsque l’attribut [allouer] est spécifié, le fichier stub traverse la structure de données pour calculer la taille totale de tous les objets accessibles à partir du pointeur et de tous les autres pointeurs de la structure de données. Remplacez le type par un type de pointeur nonvoid ou supprimez l’attribut [allouer] et utilisez une autre méthode pour déterminer sa taille d’allocation, comme l’opérateur sizeof .
|
-
MIDL2159
|
-
tableau ou construction de pointeur équivalente ne peut pas dériver d’une union non encapsulée
- Chaque union doit être associée à un discriminant. Les tableaux d’unions ne sont pas autorisés, car ils ne fournissent pas le discriminant associé. Les tableaux de structures dans lesquels la structure package l’union et son discriminant sont autorisés, car les stubs peuvent utiliser le discriminant pour déterminer la taille de chaque union.
|
-
MIDL2160
|
-
champ ne doit pas dériver d’un type error_status_t
- Le type error_status_t ne peut être utilisé que comme paramètre ou type de retour. Il ne peut pas être incorporé dans le champ d’une structure ou d’une union.
|
-
MIDL2161
|
-
union a au moins un bras sans étiquette de casse
- La déclaration d’union ne correspond pas à la syntaxe MIDL requise pour l’union. Chaque branche d’union nécessite une étiquette de casse ou une étiquette par défaut qui sélectionne ce bras d’union.
|
-
MIDL2162
|
-
la valeur de paramètre ou de retour ne doit pas dériver d’un type auquel [ignore] est appliqué
- L’attribut [ignore] est un attribut de champ qui ne peut être appliqué qu’aux champs, tels que les champs de structures et de tableaux. L’attribut [ignore] indique que le stub ne doit pas déréférencer le pointeur pendant la transmission et n’est pas autorisé lorsqu’il est en conflit avec d’autres attributs qui doivent être déréférencés, tels que les paramètres [out] et les valeurs de retour de fonction.
|
-
MIDL2163
|
-
un attribut pointeur est déjà appliqué au pointeur
- Un seul des attributs de pointeur, [ref], [unique] ou [ptr], peut être appliqué à un pointeur unique.
|
-
MIDL2164
|
-
champ/paramètre ne doit pas dériver d’une structure récursive via un pointeur ref
- Par définition, un pointeur de référence ne peut pas être défini sur NULL. Une structure de données récursive définie avec un pointeur de référence n’a pas d’éléments NULL et, par convention, n’est pas déterminée. Utilisez un attribut de pointeur [unique] pour permettre à la structure de données de spécifier un élément NULL ou redéfinissez la structure de données en tant que structure de données non récursive.
|
-
MIDL2165
|
-
l’utilisation d’un champ dérivant d’un pointeur void nécessite /c_ext
- Le type void * et les autres types et qualificateurs de type qui ne sont pas pris en charge par l’IDL DCE sont autorisés dans le fichier IDL uniquement lorsque vous utilisez les paramètres du compilateur MIDL par défaut. L’utilisation du commutateur /osf remplace cette valeur par défaut. Si vous devez compiler en mode de compatibilité osf, vous devez redéfinir le type de pointeur.
|
-
MIDL2166
|
-
l’utilisation de cet attribut nécessite /ms_ext
- Cette fonctionnalité de langage est une extension Microsoft de DCE IDL. Vous ne pouvez pas utiliser cette fonctionnalité si vous effectuez la compilation en mode de compatibilité osf ( /osf ).
|
-
MIDL2167
|
-
cet attribut n’est autorisé qu’avec les nouvelles bibliothèques de types de format
- Pour utiliser cet attribut, vous avez besoin de la version de Oleaut32.dll fournie avec Windows 2000 ou version ultérieure.
|
-
MIDL2168
|
-
utilisation de wchar_t besoins /ms_ext ou /c_ext
- Le type de caractères larges représente une extension de L’IDL DCE. Le compilateur MIDL n’accepte pas le type de caractères larges lorsque vous spécifiez le commutateur /osf .
|
-
MIDL2169
|
-
les champs sans nom ont besoin de /ms_ext ou /c_ext
- DCE IDL ne prend pas en charge l’utilisation de structures sans nom ou d’unions incorporées dans d’autres structures ou unions. Dans DCE IDL, tous ces champs incorporés doivent être nommés. Le compilateur MIDL n’autorise pas leur utilisation lorsque vous spécifiez le commutateur /osf .
|
-
MIDL2170
|
-
les champs sans nom ne peuvent dériver qu’à partir de types struct/union
- L’extension Microsoft de l’IDL DCE qui prend en charge les champs sans nom s’applique uniquement aux structures et aux unions. Vous devez attribuer un nom au champ ou redéfinir le champ pour respecter cette restriction.
|
-
MIDL2171
|
-
champ d’une union ne peut pas dériver d’un tableau conforme/variable ou de son équivalent de pointeur
- Le tableau conforme ne peut pas apparaître seul dans l’union, mais doit être accompagné de la valeur qui spécifie la taille du tableau. Au lieu d’utiliser le tableau comme bras d’union, utilisez une structure qui se compose du tableau conforme et de l’identificateur qui spécifie sa taille.
|
-
MIDL2172
|
-
aucun attribut [pointer_default] spécifié, en supposant que [ptr] pour tous les pointeurs non attribués dans l’interface
- L’implémentation DCE IDL spécifie que tous les pointeurs de chaque fichier IDL doivent être associés à des attributs de pointeur. Lorsqu’un attribut de pointeur explicite n’est pas attribué au paramètre ou au type de pointeur et qu’aucun attribut [pointer_default] n’est spécifié dans le fichier IDL, l’attribut de pointeur complet ptr est associé au pointeur. Vous pouvez modifier les attributs de pointeur à l’aide d’attributs de pointeur explicites, en spécifiant un attribut [pointer_default] ou en spécifiant le commutateur /ms_ext pour modifier la valeur par défaut pour les pointeurs non attribués sur [unique].
|
-
MIDL2173
|
-
l’initialisation de l’expression doit être résolue en expression constante
- Si une expression est utilisée comme initialiseur, l’expression doit être une expression constante. Cela est vrai dans tous les modes du compilateur MIDL. L’expression doit être résolue au moment de la compilation. Spécifiez une constante littérale ou une expression qui se résout en constante plutôt qu’en variable.
|
-
MIDL2174
|
-
l’expression d’attribut doit être de type integer, char, Boolean ou enum
- Le type spécifié ne se résout pas en type de commutateur valide. Utilisez un type entier, caractère, octet, booléen ou énumération , ou un type dérivé de l’un de ces types.
|
-
MIDL2175
|
-
constante illégale
- La constante spécifiée est hors de la plage valide pour le type spécifié.
|
-
MIDL2176
|
-
attribut non implémenté ; Ignoré
- L’attribut spécifié n’est pas implémenté dans cette version de Microsoft RPC. Le compilateur MIDL continue de traiter le fichier IDL comme si l’attribut n’était pas présent.
|
-
MIDL2177
|
-
le type de retour ne doit pas dériver d’un pointeur [ref]
- Les valeurs de retour de fonction qui sont définies pour être des types de pointeurs doivent être spécifiées en tant que pointeurs [uniques] ou complets . Vous ne pouvez pas utiliser de pointeurs de référence.
|
-
MIDL2178
|
-
l’expression d’attribut doit être un nom de variable ou une expression de déréférence de pointeur dans ce mode. Vous devez spécifier le commutateur /ms_ext
- Le compilateur IDL DCE exige que la taille associée à l’attribut [size_is] soit spécifiée par une variable ou une variable pointeur. Si vous souhaitez tirer parti de l’extension Microsoft qui permet à l’attribut [size_is] d’être défini par une expression constante, vous ne pouvez pas utiliser le commutateur du compilateur /osf .
|
-
MIDL2179
|
-
le paramètre ne doit pas dériver d’une union récursive non encapsulée
- Une union doit inclure un discriminant, de sorte qu’un syndicat ne peut pas avoir une autre union comme élément. Une union ne peut être incorporée dans une autre union que lorsqu’elle fait partie d’une structure qui inclut le discriminant.
|
-
MIDL2180
|
-
le paramètre binding-handle ne peut pas être uniquement [out]
- Le paramètre handle identifié par le compilateur MIDL comme handle de liaison pour cette opération doit être un paramètre [in]. Les paramètres [out]-only ne sont pas définis sur le stub client, et le handle de liaison doit être défini sur le client.
|
-
MIDL2181
|
-
le pointeur vers un handle ne peut pas être [unique] ou [ptr]
- Vous ne pouvez pas utiliser les attributs de pointeur uniques et complets pour un pointeur vers un handle. Ces attributs autorisent la valeur NULL, et le handle de liaison ne peut pas être NULL. Utilisez l’attribut [ref] pour dériver le paramètre binding-handle à partir de pointeurs de référence.
|
-
MIDL2182
|
-
le paramètre qui n’est pas un handle de liaison ne doit pas dériver de handle_t
- Le type de handle primitif handle_t n’est pas un type de données valide transmis sur le réseau. Remplacez le type de paramètre par un type autre que handle_t, ou supprimez le paramètre.
|
-
MIDL2183
|
-
fin inattendue du fichier trouvé
- Le compilateur MIDL a trouvé la fin du fichier avant de pouvoir résoudre avec succès tous les éléments syntaxiques du fichier. Vérifiez que le caractère d’accolade droite de fin (}) est présent à la fin du fichier, ou case activée la syntaxe.
|
-
MIDL2184
|
-
[transmit_as] ne doit pas être appliqué au type dérivant de handle_t
- Le type de handle primitif handle_t n’est pas transmis sur le réseau.
|
-
MIDL2185
|
-
[context_handle] ne doit pas être appliqué à un type auquel [handle] est appliqué
- Les attributs [context_handle] et [handle] ne peuvent pas être appliqués au même type.
|
-
MIDL2186
|
-
[handle] ne doit pas être spécifié sur un type dérivant de void ou void *
- Un type spécifié avec l’attribut [handle] peut être transmis sur le réseau, mais le type void* n’est pas un type transmissible. Le type de handle doit être résolu en un type qui dérive des types de base transmissibles.
|
-
MIDL2187
|
-
le paramètre doit avoir [in], [out] ou [in,out] dans ce mode. Vous devez spécifier /ms_ext ou /c_ext
- Le compilateur IDL DCE exige que tous les paramètres aient des paramètres directionnels explicites. Pour utiliser les extensions Microsoft pour DCE IDL, vous ne pouvez pas utiliser le commutateur /osf , qui remplace /ms_ext et /c_ext.
|
-
MIDL2188
|
-
le type transmis ne peut pas dériver de « void » pour [transmit_as], [represent_as], [wire_marshal], [user_marshal]
-
L’attribut [transmit_as] s’applique uniquement aux types de pointeurs. Utilisez le type void* à la place de void.
|
-
MIDL2189
|
-
« void » doit être spécifié sur la première et seule spécification de paramètre
- Le mot clé void apparaît incorrectement avec d’autres paramètres de fonction. Pour spécifier une fonction sans paramètres, le mot clé void doit être le seul élément de la liste de paramètres, comme dans l’exemple suivant :
void Moo(void)
|
-
MIDL2190
|
-
[switch_is] doit être spécifié uniquement sur un type dérivant d’une union non encapsulée
-
L’mot clé [switch_is] est incorrectement appliquée. Il ne peut être utilisé qu’avec des types d’union non encapsulés.
|
-
MIDL2191
|
-
Les structures stringables ne sont pas implémentées dans cette version
- DCE IDL permet à l’attribut [string] de s’appliquer à une structure dont les éléments se composent uniquement de caractères, d’octets ou de types qui sont résolus en caractères ou en octets. Cette fonctionnalité n’est pas prise en charge dans Microsoft RPC. L’attribut [string] ne peut pas être appliqué à la structure dans son ensemble. Toutefois, il peut être appliqué à chaque tableau individuel.
|
-
MIDL2192
|
-
le type de commutateur ne peut être que intégral, char, booléen ou enum
- Le type spécifié n’est pas résolu en un type de commutateur valide. Utilisez un entier, un caractère, un octet, un type booléen, un type enum ou un type dérivé de l’un de ces types.
|
-
MIDL2193
|
-
[handle] ne doit pas être spécifié sur un type dérivant de handle_t
- Un type de handle doit être défini à l’aide d’un et d’un seul des types ou attributs de handle. Utilisez le type primitif handle_t ou l’attribut [handle], mais pas les deux. Le type de handle défini par l’utilisateur doit être transmissible, mais le type handle_t n’est pas transmis sur le réseau.
|
-
MIDL2194
|
-
le paramètre dérivant de handle_t ne doit pas être un paramètre [out]
- Un handle du type primitif handle_t est significatif uniquement du côté de l’application dans laquelle il est défini. Le type handle_t n’est pas transmis sur le réseau.
|
-
MIDL2195
|
-
l’expression d’attribut dérive de la déréférencement du pointeur [unique] ou [ptr]
- Bien que les attributs [unique] et pointeur complet autorisent les pointeurs à avoir des valeurs NULL , l’expression qui définit l’attribut size ou length ne doit jamais avoir de valeur NULL . Lorsque des pointeurs sont utilisés, MIDL limite les expressions aux pointeurs [ref].
|
-
MIDL2196
|
-
« cpp_quote » nécessite /ms_ext
-
L’attribut cpp_quote est une extension Microsoft à DCE IDL. N’utilisez pas le commutateur du compilateur MIDL /osf, qui remplace /ms_ext.
|
-
MIDL2197
|
-
l’uuid entre guillemets nécessite /ms_ext
- La possibilité de spécifier une valeur UUID entre guillemets est une extension Microsoft à DCE IDL. N’utilisez pas le commutateur du compilateur MIDL /osf, qui remplace /ms_ext.
|
-
MIDL2198
|
-
le type de retour ne peut pas dériver d’une union non encapsulée
- L’union non encapsulée ne peut pas être utilisée comme type de retour de fonction. Pour retourner le type d’union, spécifiez le type union en tant que paramètre [out] ou [in, out].
|
-
MIDL2199
|
-
le type de retour ne peut pas dériver d’une structure conforme
- La taille du type de retour doit être une constante. Vous ne pouvez pas spécifier comme type de retour une structure qui contient un tableau conforme même si la structure inclut également son spécificateur de taille. Pour retourner la structure conforme, spécifiez la structure en tant que paramètre [out] ou [in, out].
|
-
MIDL2200
|
-
[transmit_as] ne doit pas être appliqué à un type dérivant d’un handle générique
- Dans cette version, les attributs [handle] et [transmit_as] ne peuvent pas être combinés sur le même type.
|
-
MIDL2201
|
-
[handle] ne doit pas être appliqué à un type auquel [transmit_as] est appliqué
- Dans cette version, les attributs [handle] et [transmit_as] ne peuvent pas être combinés sur le même type.
|
-
MIDL2202
|
-
le type spécifié pour la déclaration const n’est pas valide
- Les déclarations constantes sont limitées aux types entier, caractère, caractère large, chaîne et booléen.
|
-
MIDL2203
|
-
l’opérande vers l’opérateur sizeof n’est pas pris en charge
- Le compilateur MIDL prend en charge l’opération sizeof pour les types simples uniquement. L’opérande spécifié n’est pas évalué à un type entier.
|
-
MIDL2204
|
-
ce nom déjà utilisé comme nom d’identificateur const
- L’identificateur a précédemment été utilisé pour identifier une constante dans une déclaration const . Modifiez le nom de l’un des identificateurs afin que les identificateurs soient uniques.
|
-
MIDL2205
|
-
redéfinition incohérente du type error_status_t
- Le type error_status_t doit être résolu en type long non signé. D’autres définitions de type ne peuvent pas être utilisées.
|
-
MIDL2206
|
-
[case] valeur hors de la plage du type de commutateur
- La valeur associée à la casse de l’instruction switch est hors de portée pour le type de commutateur spécifié. Par exemple, cette erreur se produit lorsqu’une valeur entière longue est utilisée dans l’instruction case pour un type entier court.
|
-
MIDL2207
|
-
paramètre dérivant de wchar_t besoins /ms_ext
- Le type de caractères larges wchar_t est une extension Microsoft de DCE IDL. N’utilisez pas le commutateur de compilateur MIDL /osf, qui remplace /ms_ext
|
-
MIDL2208
|
-
cette interface n’a que des rappels
- Les rappels sont valides uniquement dans le contexte d’un appel de procédure distante. L’interface doit inclure au moins un prototype de fonction pour un appel de procédure distante qui n’inclut pas l’attribut [rappel].
|
-
MIDL2209
|
-
attribut spécifié de manière redondante ; Ignoré
- L’attribut spécifié a été appliqué plusieurs fois. Plusieurs instances du même attribut sont ignorées.
|
-
MIDL2210
|
-
type de handle de contexte utilisé pour un handle implicite
- Un type qui a été défini à l’aide de l’attribut [context_handle] a été spécifié comme type de handle dans un attribut [ implicit_handle]. Les attributs ne peuvent pas être combinés de cette façon.
|
-
MIDL2211
|
-
options en conflit spécifiées pour [allouer]
- Les options spécifiées pour l’attribut ACF [allouer] représentent des directives en conflit. Par exemple, spécifiez l’option all_nodes ou l’option single_node, mais pas les deux.
|
-
MIDL2212
|
-
erreur lors de l’écriture dans un fichier
- Une erreur s’est produite lors de l’écriture dans le fichier. Cette condition peut être due à des erreurs relatives à l’espace disque, aux handles de fichiers, aux restrictions d’accès aux fichiers et aux défaillances matérielles.
|
-
MIDL2213
|
-
aucun type de commutateur trouvé lors de la définition de l’union, à l’aide du type [switch_is]
- La définition d’union n’inclut pas d’attribut [switch_type] explicite. Le type de la variable spécifiée par l’attribut [switch_is] est utilisé comme type de commutateur.
|
-
MIDL2214
|
-
sémantique case activée incomplète en raison d’erreurs précédentes
- Le compilateur MIDL effectue deux passes sur le ou les fichiers d’entrée pour résoudre les déclarations de transfert. En raison d’erreurs rencontrées lors de la première passe, la vérification de la deuxième passe n’a pas été effectuée. Les erreurs non signalées relatives aux déclarations de transfert peuvent toujours être présentes dans le fichier.
|
-
MIDL2215
|
-
le paramètre handle ou le type de retour n’est pas pris en charge sur une procédure [rappel]
- Une procédure [rappel] se produit dans le contexte d’un appel d’un client au serveur et utilise le même handle de liaison que l’appel d’origine. Les paramètres de handle de liaison explicite ou les types de retour ne sont pas autorisés dans les fonctions de rappel.
|
-
MIDL2216
|
-
[ptr] ne prend pas en charge l’aliasing dans cette version
- Un alias se produit lorsque les données sont accessibles via plusieurs pointeurs ou noms de variable. Supprimez l’alias. Pour plus d’informations, consultez Pointeurs uniques.
|
-
MIDL2217
|
-
paramètre déjà défini en tant que handle de contexte
- Le paramètre était précédemment défini en tant que handle de contexte.
|
-
MIDL2218
|
-
[context_handle] ne doit pas dériver de handle_t
- Les trois caractéristiques de handle : le type handle_t, l’attribut [handle] et l’attribut [context_handle], s’excluent mutuellement. Une seule caractéristique peut être appliquée à un type ou à un paramètre à la fois.
|
-
MIDL2219
|
-
la taille du tableau dépasse 65536 octets
- Sur certaines plateformes Microsoft, la taille maximale des données transmissibles est de 64 000. Reconcevoir votre application afin que toutes les données transmises s’intègrent à la taille maximale transmissible.
|
-
MIDL2220
|
-
la taille de la structure dépasse 65536 octets
- Sur certaines plateformes Microsoft, la taille maximale des données transmissibles est de 64 000. Reconcevoir votre application afin que toutes les données transmises s’intègrent à la taille maximale transmissible.
|
-
MIDL2221
|
-
champ d’une union non encapsulée ne peut pas être une autre union non encapsulée
- Les unions transmises dans le cadre d’un appel de procédure à distance nécessitent un élément de données associé, le discriminant, qui sélectionne le bras d’union. Les unions imbriquées dans d’autres unions n’offrent pas de discrimination; par conséquent, elles ne peuvent pas être transmises sous cette forme. Créez une structure qui se compose de l’union et de son discriminant.
|
-
MIDL2222
|
-
attributs de pointeur appliqués à un tableau incorporé ; Ignoré
- Un attribut pointeur ne peut être appliqué à un tableau que lorsque le tableau est un paramètre de niveau supérieur. Les autres attributs de pointeur appliqués aux tableaux incorporés dans d’autres structures de données sont ignorés.
|
-
MIDL2223
|
-
[allouer] n’est pas conforme au type transmis ou présenté pour [transmit_as], [represent_as], [wire_marshal] ou [user_marshal]
- Les attributs [transmit_as] et [allouer] ne peuvent pas être appliqués au même type. L’attribut [transmit_as] fait la distinction entre les types présentés et transmis, tandis que l’attribut [allouer] suppose que le type présenté est le même que le type transmis.
|
-
MIDL2224
|
[switch_type] doit être spécifié dans ce mode d’importation
|
-
MIDL2225
|
-
[implicit_handle] tapez undefined ; en supposant que le handle générique
- Le type de handle spécifié dans ACF n’est pas défini dans le fichier IDL. Le compilateur MIDL part du principe que le type de handle est résolu en type de handle primitif handle_t. Ajoutez l’attribut [handle] à la définition de type si vous souhaitez que le handle se comporte comme un handle défini par l’utilisateur ou générique.
|
-
MIDL2226
|
-
l’élément array ne doit pas dériver de error_status_t
- Dans cette version de Microsoft RPC, le type error_status_t peut apparaître uniquement en tant que paramètre ou type de retour. Il ne peut pas apparaître dans les tableaux.
|
-
MIDL2227
|
-
[allouer] non valide sur un type dérivant d’un handle primitif/générique/contextuel
- Par conception, l’attribut ACF [allocation] ne peut pas être appliqué à gérer les types.
|
-
MIDL2228
|
-
le type transmis ou présenté ne doit pas dériver de error_status_t
- Dans cette version de Microsoft RPC, le type error_status_t ne peut pas être utilisé avec l’attribut [transmit_as].
|
-
MIDL2229
|
-
discriminant d’une union ne doit pas dériver d’un champ avec [ignorer] appliqué à celui-ci
- Une union utilisée dans un appel de procédure distante doit être associée à un autre élément de données, appelé discriminant, qui sélectionne le bras d’union. Le discriminant doit être transmis. L’attribut [ignore] ne peut pas être appliqué au discriminant d’union.
|
-
MIDL2230
|
-
[nocode] ignoré pour le côté serveur, car « /server none » n’est pas spécifié
- Certains compilateurs IDL DCE génèrent une erreur lorsque l’attribut [nocode] est appliqué à une procédure dans une interface pour laquelle des fichiers stub de serveur sont générés. Étant donné que le serveur doit prendre en charge toutes les opérations, [nocode] ne doit pas être appliqué à une procédure dans ce mode, ou vous devez utiliser le commutateur du compilateur MIDL /server none pour spécifier explicitement qu’aucune routine de serveur ne doit être générée.
|
-
MIDL2231
|
-
aucune procédure distante spécifiée dans l’interface non[locale] ; aucun stub client/serveur n’est généré
- L’interface fournie n’ayant pas de procédures distantes, seuls les fichiers d’en-tête seront générés.
|
-
MIDL2232
|
-
trop de cas par défaut spécifiés pour l’union encapsulée
- Une union encapsulée ne peut avoir qu’une seule valeur par défaut : arm.
|
-
MIDL2233
|
-
trop d’interfaces par défaut spécifiées pour la coclasse
- Une coclasse peut avoir au maximum deux membres [par défaut], l’un pour représenter l’interface (source) sortante ou la dispinterface, et l’autre pour représenter l’interface entrante (récepteur) ou la dispinterface.
|
-
MIDL2234
|
-
les éléments avec [defaultvtable] doivent également avoir [source]
-
L’interface defaultvtable crée une deuxième interface source pour un objet, qui permet aux récepteurs de recevoir des événements via la table V.
|
-
MIDL2235
|
-
la spécification union sans champs n’est pas illégale
- Les syndicats doivent avoir au moins un champ.
|
-
MIDL2236
|
-
valeur hors de la plage
- La valeur de casse fournie est hors de la plage du type de commutateur.
|
-
MIDL2237
|
-
[context_handle] doit être appliqué sur un type de pointeur
- Les handles de contexte doivent toujours être des types de pointeurs. DCE spécifie que tous les handles de contexte doivent être typés comme void *.
|
-
MIDL2238
|
-
le type de retour ne doit pas dériver de handle_t
-
handle_t ne peut pas être retourné.
|
-
MIDL2239
|
-
[handle] ne doit pas être appliqué à un type dérivant d’un handle de contexte
- Un type ne peut pas être à la fois un handle de contexte et un handle générique.
|
-
MIDL2240
|
-
le champ dérivant d’un « int » doit avoir le spécificateur de taille « small », « short » ou « long » avec « int »
- Le type int n’est pas transmissible sur les systèmes 16 bits, car la taille de l’int peut être différente d’une machine à l’autre.
|
-
MIDL2241
|
-
champ ne doit pas dériver d’un void ou void *
-
void et void * ne peuvent pas être utilisés comme types de paramètres pour les procédures distantes.
|
-
MIDL2242
|
-
champ ne doit pas dériver d’une structure contenant des champs bits
- Les structures contenant des champs de bits ne peuvent pas être utilisées comme paramètres ou types de retour pour les procédures distantes.
|
-
MIDL2243
|
-
le champ ne doit pas dériver d’une union non rpcable
- Une union doit être spécifiée en tant qu’union non encapsulée ou encapsulée pour être transmise. Les syndicats C ordinaires n’ont pas le discriminant nécessaire pour transmettre l’union à l’ensemble du réseau.
|
-
MIDL2244
|
-
le champ ne doit pas dériver d’un pointeur vers une fonction
- Les pointeurs vers les fonctions ne peuvent pas être transmis aux procédures distantes. Les pointeurs vers les fonctions pointent vers le code de fonction, et aucun code de fonction ne peut être transmis sur le réseau à l’aide de RPC.
|
-
MIDL2245
|
-
impossible d’utiliser [fault_status] sur un paramètre et un type de retour
- L’attribut [fault_status] ne peut être utilisé qu’une seule fois par procédure.
L’attribut [comm_status] peut être utilisé indépendamment.
|
-
MIDL2246
|
-
type de retour trop compliqué pour les modes /Oi, à l’aide de /Os
- Les types de retour volumineux transmis par valeur ne peuvent être gérés que par les stubs d’optimisation /Os . Les stubs de cette routine seront générés à l’aide de l’optimisation /Os .
|
-
MIDL2247
|
-
type de handle générique trop volumineux pour les modes /Oi, à l’aide de /Os
- Les grands types de handle génériques transmis par valeur ne peuvent être gérés que par les stubs d’optimisation /Os . Les stubs de cette routine seront générés à l’aide de l’optimisation /Os .
|
-
MIDL2248
|
-
[allocation(all_nodes)] sur un paramètre [in,out] peut orpheliner la mémoire d’origine
- L’utilisation de [allocate(all_nodes)] sur un paramètre [in, out] doit réallouer la mémoire contiguë pour le sens [out], ce qui rend orphelin le paramètre [in]. Cette utilisation n’est pas recommandée.
|
-
MIDL2249
|
-
impossible d’avoir un pointeur [ref] en tant que bras d’union
- Les pointeurs de référence doivent toujours pointer vers une mémoire valide, mais une union [in, out] avec un pointeur de référence peut retourner un pointeur de référence lorsque la direction [in] a utilisé un autre type.
|
-
MIDL2250
|
-
retour de handles de contexte non pris en charge pour les modes /Oi, à l’aide de /Os
- MIDL ne prend pas en charge les handles de contexte dans les modes d’optimisation entièrement interprétés. Passage à l’optimisation en mode mixte.
|
-
MIDL2251
|
-
utilisation du paramètre supplémentaire [comm_status] ou [fault_status] non pris en charge pour les modes /Oi, à l’aide de /Os
- Les attributs [comm_status] et [fault_status] ne peuvent être gérés que par les stubs d’optimisation /Os . Les stubs de cette routine seront générés à l’aide de l’optimisation /Os .
|
-
MIDL2252
|
-
utilisation d’un type inconnu pour [represent_as] ou [user_marshal] non pris en charge pour les modes /Oi, à l’aide de /Os
- L’utilisation de l’attribut [represent_as] avec un type local qui n’est pas défini dans le fichier IDL ou un fichier IDL importé ne peut être gérée que par les stubs d’optimisation /Os . Les stubs de cette routine seront générés à l’aide de l’optimisation /Os .
|
-
MIDL2253
|
-
types de tableau avec [transmit_as] ou [represent_as] non pris en charge sur le type de retour pour les modes /Oi , à l’aide de /Os
- Le retour d’un tableau avec [transmit_as] ou [represent_as] appliqué ne peut être géré que par les stubs d’optimisation /Os . Les stubs de cette routine seront générés à l’aide de l’optimisation /Os .
|
-
MIDL2254
|
-
types de tableau avec [transmit_as] ou [represent_as] non pris en charge pour les modes /Oi, à l’aide de /Os
- Cette action n’est pas prise en charge pour l’optimisation entièrement interprétée. Passage à l’optimisation en mode mixte.
|
-
MIDL2255
|
-
[rappel] nécessite /ms_ext
- L’attribut [rappel] est une extension Microsoft et nécessite que le commutateur /ms_ext soit activé. Ne compilez pas avec /osf, qui remplace /ms_ext.
|
-
MIDL2256
|
-
dépendance d’interface circulaire
- Cette interface s’utilise (directement ou indirectement) comme interface de base.
|
-
MIDL2257
|
-
seul IUnknown peut être utilisé comme interface racine
- Actuellement, toutes les interfaces doivent avoir IUnknown comme interface racine.
|
-
MIDL2258
|
-
[IID_IS] ne peut être appliqué qu’aux pointeurs vers les interfaces
- L’attribut [iid_is] ne peut être appliqué qu’aux pointeurs d’interface, bien qu’ils puissent être spécifiés en tant que pointeurs vers IUnknown *.
|
-
MIDL2259
|
-
les interfaces ne peuvent être utilisées que dans les constructions de pointeur à interface
- Les noms d’interface ne peuvent pas être utilisés, sauf en tant qu’interfaces de base ou pointeurs d’interface.
|
-
MIDL2260
|
-
les pointeurs d’interface doivent avoir un UUID/IID
- Le type de base de l’expression [iid_is] doit être un type UUID/GUID/IID.
|
-
MIDL2261
|
-
les définitions et déclarations en dehors du corps de l’interface nécessitent /ms_ext
- Le fait de placer des déclarations et des définitions en dehors de n’importe quel corps d’interface est une extension Microsoft qui nécessite l’utilisation du commutateur /ms_ext .
|
-
MIDL2262
|
-
plusieurs interfaces dans un seul fichier nécessite /ms_ext
- L’utilisation de plusieurs interfaces dans un seul fichier idl est une extension Microsoft et n’est pas disponible lorsque vous compilez en mode /osf .
|
-
MIDL2263
|
-
un seul des [implicit_handle], [auto_handle] ou [explicit_handle] autorisé
- Chaque interface ne peut avoir qu’un seul de ces trois attributs.
|
-
MIDL2264
|
-
[implicit_handle] référence un type qui n’est pas un handle
- Les handles implicites doivent être de l’un des types de handle.
|
-
MIDL2265
|
-
Les processus [objet] ne peuvent être utilisés qu’avec « /env win32 »
- Les interfaces avec l’attribut [object] ne peuvent pas être utilisées avec des environnements 16 bits.
|
-
MIDL2266
|
-
[rappel] avec -env dos/win16 non pris en charge pour /Oi, à l’aide de /Os
- Les rappels dans les environnements 16 bits ne peuvent être gérés que par les stubs d’optimisation /Os . Les stubs de cette routine seront générés à l’aide de l’optimisation /Os .
|
-
MIDL2267
|
-
float/double non pris en charge en tant que paramètre de niveau supérieur pour le mode /Oi, à l’aide de /Os
- Les types float et double peuvent uniquement être gérés en tant que paramètres par les stubs d’optimisation /Os . Les stubs de cette routine seront générés à l’aide de l’optimisation /Os . Les types float et double dans des structures, des tableaux ou des unions peuvent toujours être gérés avec/os.
|
-
MIDL2268
|
-
les pointeurs vers les handles de contexte ne peuvent pas être utilisés comme valeurs de retour
- Les handles de contexte doivent être utilisés comme valeurs de retour direct, et non comme valeurs de retour indirect.
|
-
MIDL2269
|
-
les procédures d’une interface objet doivent retourner un HRESULT
- Toutes les procédures d’une interface objet qui n’ont pas l’attribut-[local] doivent retourner unSCODEHRESULT/.
|
-
MIDL2270
|
-
UUID en double
- Identique aux UUID doit être unique.
|
-
MIDL2271
|
-
Les interfaces [objet] doivent dériver d’une autre interface [objet] telle que IUnknown
- L’héritage d’interface n’est autorisé que lorsque vous utilisez des interfaces d’objet.
|
-
MIDL2272
|
-
L’interface (asynchrone) doit dériver d’une autre interface (asynchrone)
- Les interfaces objet, synchrones et asynchrones, doivent dériver d’IUnknown ou d’une autre interface OLE de base.
|
-
MIDL2273
|
-
L’expression [IID_IS] doit être un pointeur vers la structure IID
- Le type de base de l’expression [iid_is] doit être un type UUID/GUID/IID.
|
-
MIDL2274
|
-
Le type [call_as] doit être une procédure [locale]
- La cible d’un type [call_as], si elle est définie, doit avoir [ local] appliquée.
|
-
MIDL2275
|
-
undefined [call_as] ne doit pas être utilisé dans une interface d’objet
- Vous devez définir la cible d’un type [call_as]. Vérifiez que vous avez fourni call_as routines pour les applications appelantes et appelées.
|
-
MIDL2276
|
-
[auto_handle] ne peut pas être utilisé avec [encode] ou [decode]
- Les attributs [ encode] et [ decode] ne peuvent être utilisés qu’avec des handles explicites ou des handles implicites.
|
-
MIDL2277
|
-
les procédures normales ne sont pas autorisées dans une interface avec [encode] ou [décodage]
- Les interfaces contenant des procédures [encode] ou [decode] ne peuvent pas également avoir de procédures distantes.
|
-
MIDL2278
|
-
conformité ou variance de niveau supérieur non autorisée avec [encode] ou [décodage]
- Les types qui ont une conformité ou une variance de niveau supérieur ne peuvent pas utiliser la sérialisation de type, car il n’existe aucun moyen de fournir un dimensionnement/un allongement. Les structures qui les contiennent sont toutefois autorisées à utiliser la sérialisation de type.
|
-
MIDL2279
|
-
Les paramètres [out] peuvent ne pas avoir « const »
- Étant donné qu’un paramètre [out] est modifié, il ne doit pas être déclaré comme constante sa.
|
-
MIDL2280
|
-
les valeurs de retour peuvent ne pas avoir « const »
- Étant donné qu’une valeur de fonction est définie lorsque la fonction retourne, cette valeur ne doit pas être déclarée en tant que constante.
|
-
MIDL2281
|
-
utilisation non valide de l’attribut « retval »
- Vérifiez que vous n’avez pas utilisé l’attribut [facultatif] et que le paramètre [retval] est le dernier paramètre de la liste.
|
-
MIDL2282
|
-
conventions d’appel multiples non valides
- Une seule convention d’appel peut être appliquée à une seule procédure.
|
-
MIDL2283
|
-
attribut non valide sur la procédure [objet]
- L’attribut ci-dessus s’applique uniquement aux procédures dans les interfaces qui n’ont pas l’attribut [objet].
|
-
MIDL2284
|
-
[out] Les pointeurs d’interface doivent utiliser une double indirection
- Étant donné que la valeur modifiée est le pointeur vers l’interface, il doit y avoir un autre niveau d’indirection au-dessus du pointeur pour permettre son retour.
|
-
MIDL2285
|
-
procédure utilisée deux fois comme appelant dans [call_as]
- Une procédure [locale] donnée ne peut être utilisée qu’une seule fois comme cible d’un [call_as], afin d’éviter les conflits de noms.
|
-
MIDL2286
|
-
[call_as] la cible doit avoir [local] dans une interface objet
- La cible d’un [call_as] doit être une procédure [locale] définie dans l’interface active.
|
-
MIDL2287
|
-
[code] et [nocode] ne peuvent pas être utilisés ensemble
- Ces deux attributs sont contradictoires et ne peuvent pas être utilisés ensemble.
|
-
MIDL2288
|
-
les procédures avec des attributs [peut-être] ou [message] peuvent ne pas avoir de paramètres [out], ou les valeurs de retour doivent être de type HRESULT ou error_status_t
- Étant donné que les procédures [peut-être] ne retournent jamais, il n’existe aucun moyen d’obtenir des valeurs de retour.
|
-
MIDL2289
|
-
le pointeur vers la fonction doit être utilisé
- Bien que les définitions de type de fonction soient autorisées en mode /c_ext , elles ne peuvent être utilisées que comme pointeurs vers des fonctions. Ils ne peuvent jamais être transmis en tant que paramètre ou valeur de retour d’une procédure distante.
|
-
MIDL2290
|
-
les fonctions ne peuvent pas être passées dans une opération RPC
- Les fonctions et les pointeurs de fonction ne peuvent pas être passés en tant que paramètres ou valeurs de retour de procédures distantes.
|
-
MIDL2291
|
-
hyper/double non pris en charge comme valeur de retour pour les modes /Oi, à l’aide de /Os
- Les valeurs de retour hyper et double peuvent être gérées uniquement par les stubs d’optimisation /Os . Les stubs de cette routine sont générés à l’aide de l’optimisation /Os .
|
-
MIDL2292
|
-
#pragma pack(pop) sans correspondance #pragma pack(push)
- #pragma pack(push) et #pragma pack(pop) doivent apparaître dans les paires correspondantes. Au moins un pack(push) de #pragma de trop ont été spécifiés.
|
-
MIDL2293
|
-
Les champs de structure pouvant contenir des chaînes doivent être byte/char/wchar_t
- Le type [string] ne peut être appliqué qu’à une structure dont les champs sont tous de type octet ou à une définition de type équivalente à byte.
|
-
MIDL2294
|
-
[notify] non pris en charge pour les modes /Oi, à l’aide de /Os
- L’attribut [notify] ne peut être traité que par les stubs d’optimisation /Os .
|
-
MIDL2295
|
-
le paramètre handle ou le type de retour n’est pas pris en charge sur une procédure dans une interface [object]
- Les handles ne peuvent pas être utilisés avec les interfaces [ objet].
|
-
MIDL2296
|
-
ANSI C autorise uniquement le tableau le plus à gauche lié à être non spécifié
- Dans un tableau conforme, ANSI C autorise uniquement le tableau le plus à gauche (le plus significatif) lié à être non spécifié. Si plusieurs dimensions sont conformes, MIDL tente de placer un « 1 » dans les autres dimensions conformes. Si les autres dimensions sont définies dans une définition de type différente, cela ne peut pas être possible. Essayez de placer toutes les dimensions du tableau sur la déclaration de tableau pour éviter cela. Dans tous les cas, méfiez-vous des calculs d’indexation de tableau effectués par le compilateur ; vous devrez peut-être effectuer vos propres calculs à l’aide des tailles réelles.
|
-
MIDL2297
|
-
paramètres d’union par valeur non pris en charge pour les modes /Oi, à l’aide de /Os
- Cette action n’est pas prise en charge pour l’optimisation complète. Passage à l’optimisation en mode mixte.
|
-
MIDL2298
|
-
L’attribut [version] est ignoré sur une interface [objet]
- L’attribut [object] identifie une interface COM. Une liste d’attributs d’interface pour une interface COM ne peut pas inclure l’attribut [ version].
|
-
MIDL2299
|
-
L’attribut [size_is] ou [max_is] n’est pas valide sur un tableau fixe
- Les tableaux de taille fixe ne peuvent pas utiliser les attributs size_is ou max_is .
|
-
MIDL2300
|
-
[encode] ou [decode] ne sont pas valides dans une interface [object]
- L’attribut [object] identifie une interface COM. Les attributs [encode] et [ decode] permettent la sérialisation. Autrement dit, vous pouvez fournir et contrôler des mémoires tampons pour le marshal et le démarshal de données. Toutefois, vous ne pouvez pas effectuer de sérialisation sur les interfaces COM.
|
-
MIDL2301
|
-
[encode] ou [decode] sur un type nécessite /ms_ext
- La sérialisation ne fait pas partie de la spécification DCE-IDL. Il s’agit d’une extension Microsoft qui nécessite l’utilisation du commutateur de ligne de commande /ms_ext .
|
-
MIDL2302
|
-
int non pris en charge sur /env win16 ou /env dos
- Les plateformes Microsoft 16 bits ne prennent pas en charge l’utilisation du type int dans un fichier IDL. Qualifiez le type int avec small, short ou long.
|
-
MIDL2303
|
-
[bstring] ne peut être appliqué qu’à un pointeur vers « char » ou « whchar_t »
- Cette erreur est obsolète. Il est fourni uniquement à des fins de compatibilité descendante.
|
-
MIDL2304
|
-
attribut non valide sur une procédure dans une interface [objet]
- L’attribut spécifié n’est pas autorisé sur la procédure dans une interface COM.
|
-
MIDL2305
|
-
attribut non valide sur une interface [objet]
- L’attribut spécifié n’est pas autorisé dans une interface COM.
|
-
MIDL2306
|
-
trop de paramètres ou pile trop grande pour les modes /Oi, à l’aide de /Os
- Cet avertissement est obsolète. Il est fourni uniquement à des fins de compatibilité descendante. Elle indique que l’appel à la procédure distante entraîne une croissance de la pile supérieure à 64 000.
|
-
MIDL2307
|
-
aucun attribut sur le typedef de fichier ACF, donc aucun effet
- Le fichier IDL doit contenir toutes les instructions typedef qui n’ont pas d’attributs. Elles ne doivent pas se produire dans les fichiers ACF. Si c’est le cas, le compilateur MIDL les interprète comme redondants et les ignore.
|
-
MIDL2308
|
-
conventions d’appel autres que __stdcall ou __cdecl pas prises en charge pour les modes /Oi, à l’aide de /Os
- Les conventions d’appel telles que __pascal ou __fastcall modifier le format de la pile. Les modes /Oi prennent uniquement en charge les conventions d’appel __stdcall et __cdecl . Si vous devez utiliser d’autres conventions d’appel, utilisez le mode /Os .
|
-
MIDL2309
|
-
Trop de méthodes de délégation dans l’interface nécessitent Windows 2000 ou une version ultérieure
- Une interface peut hériter d’une autre. Dans ce cas, les méthodes de l’interface de base sont considérées comme déléguées. Aucune interface dérivée ne peut contenir plus de 256 méthodes déléguées.
|
-
MIDL2310
|
-
descripteurs automatiques non pris en charge avec /env mac ou /env powermac
- Lors de la compilation de votre fichier IDL pour un PowerMac, vous ne pouvez pas utiliser de handles de liaison automatique. Vous devez spécifier des handles explicites ou implicites.
|
-
MIDL2311
|
-
Les instructions en dehors du bloc de bibliothèque ne sont pas valides en mode de compatibilité mktyplib
- Vous devrez peut-être spécifier le commutateur de ligne de commande /mktyplib203 lorsque vous compilez votre fichier IDL.
Remarque :
L’outil Mktyplib.exe est obsolète. Utilisez le compilateur MIDL à la place.
|
-
MIDL2312
|
-
syntaxe non conforme, sauf si le mode de compatibilité mktyplib est utilisé
- Vous devrez peut-être spécifier le commutateur de ligne de commande /mktyplib203 lorsque vous compilez votre fichier IDL.
Remarque :
L’outil Mktyplib.exe est obsolète. Utilisez le compilateur MIDL à la place.
|
-
MIDL2313
|
-
définition non valide, doit utiliser typedef en mode de compatibilité mktyplib
- Vous devrez peut-être spécifier le commutateur de ligne de commande /mktyplib203 lorsque vous compilez votre fichier IDL.
Remarque :
L’outil Mktyplib.exe est obsolète. Utilisez le compilateur MIDL à la place.
|
-
MIDL2314
|
-
attribut de pointeur explicite [ptr] [ref] ignoré pour les pointeurs d’interface
- Les pointeurs vers les interfaces ne peuvent pas avoir d’attributs IDL.
|
-
MIDL2315
|
Modes /Oi non implémentés pour PowerMac, basculement vers /Os
|
-
MIDL2316
|
-
type d’expression non valide utilisé dans l’attribut
- La valeur par défaut du pointeur doit être une constante.
|
-
MIDL2317
|
-
type illégal utilisé dans le canal
- Les canaux sont limités aux types de données IDL de base. Par exemple, vous ne pouvez pas spécifier un canal de tableaux.
|
-
MIDL2318
|
-
la procédure utilise des canaux, à l’aide de /Oicf
- Le mode que vous avez sélectionné ne prend pas en charge les canaux. Le compilateur MIDL a détecté l’utilisation d’un ou plusieurs canaux dans votre interface. Par conséquent, il compile votre fichier IDL en mode /Oicf .
|
-
MIDL2319
|
-
la procédure a un attribut qui nécessite l’utilisation de /Oif, les modes de basculement
- Vous devez compiler les procédures [async] en mode /Oif .
|
-
MIDL2320
|
-
exigences d’optimisation conflictuelles, impossible d’optimiser
- Cette erreur indique souvent que vous avez spécifié les modes de compilateur MIDL /Os et /Oi (ou une variante de /Oi). Cela peut également signifier que les fonctionnalités que vous avez spécifiées dans vos fichiers IDL et ACL nécessitent l’utilisation des deux modes. Vous devez sélectionner un mode ou l’autre à optimiser.
|
-
MIDL2321
|
-
les canaux ne peuvent pas être des éléments de tableau ou des membres de structures ou d’unions
- Les types de données de canal ne peuvent être que des paramètres de niveau supérieur.
|
-
MIDL2322
|
-
Utilisation du canal non valide
- Vous ne pouvez pas utiliser de canaux avec les attributs [transmit_as], [represent_as] ou [user_marshal]. En outre, les canaux ne peuvent pas être utilisés comme types de retour.
|
-
MIDL2323
|
-
la fonctionnalité nécessite l’option d’optimisation interprétée avancée ; utiliser -Oicf
- Cette erreur indique que les commutateurs de ligne de commande du compilateur MIDL tels que /robust nécessitent l’utilisation du mode /Oicf .
|
-
MIDL2324
|
-
la fonctionnalité nécessite l’option d’optimisation interprétée avancée ; utiliser -Oicf
- Cet avertissement indique que les commutateurs de ligne de commande du compilateur MIDL tels que /robust nécessitent l’utilisation du mode /Oicf .
|
-
MIDL2329
|
-
l’option d’optimisation est en cours d’élimination progressive, utilisez -Oic
- Le mode d’optimisation /Oi1 a été spécifié sur la ligne de commande MIDL. Ce mode n’est plus pris en charge et /Oicf doit être utilisé à la place.
|
-
MIDL2330
|
-
l’option d’optimisation est en cours d’élimination progressive, utilisez -Oicf
- Le mode d’optimisation /Oi2 a été spécifié sur la ligne de commande MIDL. Ce mode n’est plus pris en charge et /Oicf doit être utilisé à la place.
|
-
MIDL2331
|
-
l’option d’optimisation est en cours d’élimination progressive, utilisez -ic
- Le mode d’optimisation i1 a été spécifié dans un attribut ACF [optimiser]. Ce mode n’est plus pris en charge et icf doit être utilisé à la place.
Exemple de fichier ACF :
[optimize("i1")] roo(); //MIDL 2331
|
-
MIDL2332
|
-
l’option d’optimisation est en cours d’élimination progressive, utilisez -icf
- Le mode d’optimisation i2 a été spécifié dans un attribut ACF [optimiser]. Ce mode n’est plus pris en charge et icf doit être utilisé à la place.
Exemple de fichier ACF :
[optimize("i2")] roo(); //MIDL 2332
|
-
MIDL2333
|
-
les commutateurs -old et -new sont obsolètes, utilisez -oldtlb et -newtlb
- Ce message est obsolète et n’est plus omis par MIDL.
|
-
MIDL2334
|
-
valeur de l’argument non valide
- Les variantes autorisées du commutateur de ligne de commande /O incluent /Os, /Oi, /Oic, /Oicf et /Oif.
|
-
MIDL2335
|
-
type d’expression non valide en constante
- L’expression n’est pas évaluée en constante.
|
-
MIDL2336
|
-
type d’expression non valide dans enum
- Une valeur énumérée dans une définition d’énumération ne correspond pas à un type intégral.
|
-
MIDL2337
|
-
déclaration anticipée non satisfaite
- Le compilateur MIDL n’a pas pu résoudre la définition d’une déclaration anticipée.
|
-
MIDL2338
|
-
les commutateurs sont contradictoires
- Vous ne pouvez pas utiliser les commutateurs de ligne de commande /osf et /ms_ext lorsque vous compilez un fichier IDL. Vous devez choisir l’un ou l’autre.
|
-
MIDL2339
|
-
MIDL ne peut pas générer d’informations HOOKOLE pour l’union non-rpc-able
- Cette erreur est obsolète. Il est fourni strictement pour la compatibilité descendante.
|
-
MIDL2340
|
-
aucune expression de cas trouvée pour l’union
- Chaque champ d’une union doit avoir une instruction case avec une expression constante.
|
-
MIDL2341
|
-
[user_marshal] et [wire_marshal] non pris en charge avec les indicateurs -Oi et -Oic, utilisez -Os ou -Oicf
- Les attributs [user_marshal] et [wire_marshal] nécessitent les fonctionnalités d’optimisation spécifiques disponibles uniquement dans /Oicf (proxy sans code avec des chaînes de format rapide) ou /Os (marshaling en mode mixte).
|
-
MIDL2342
|
-
Les canaux ne peuvent pas être utilisés avec la sérialisation des données, c’est-à-dire [encode] et/ou [décodage]
- Vous ne pouvez pas passer de canaux en tant que paramètres aux procédures qui ont les attributs [encode] ou [décodage].
|
-
MIDL2343
|
-
tous les pointeurs d’interface de canal doivent utiliser une seule indirection
- Vous ne pouvez pas utiliser de cette manière un pointeur vers une interface de canal.
|
-
MIDL2344
|
-
[iid_is()] ne peut pas être utilisé avec un pointeur d’interface de canal
- Ce message est obsolète. Ce message n’est plus utilisé par le compilateur.
|
-
MIDL2345
|
-
commutateur -lcid non valide ou inapplicable
- L’identificateur local (LCID) que vous avez spécifié n’est pas valide.
|
-
MIDL2346
|
-
le lcid spécifié est différent de la spécification précédente
- Les valeurs spécifiées dans /lcid et [lcid] sont différentes. Le compilateur MIDL utilise le dernier défini.
|
-
MIDL2347
|
-
importlib n’est pas autorisé en dehors d’un bloc de bibliothèque
- Toutes les instructions [importlib] doivent se produire dans un bloc [bibliothèque].
|
-
MIDL2348
|
-
Valeur à virgule flottante non valide
- Cette erreur ne doit pas être émise par MIDL. Si vous voyez cette erreur, signalez un bogue à Microsoft en fournissant tous les fichiers nécessaires pour reproduire l’erreur, y compris vos fichiers IDL, fichiers ACF, en-têtes, etc.
|
-
MIDL2349
|
-
Membre non valide
- Les procédures ne peuvent pas être membres d’une bibliothèque.
|
-
MIDL2350
|
-
membre non valide possible
- Pour être un membre valide d’une bibliothèque, l’élément de bibliothèque doit être un module, une dispinterface, une coclasse, une instruction if, une structure, une union, une énumération ou une déclaration de transfert.
|
-
MIDL2351
|
-
incompatibilité dans les types de canal et d’interface
- Ce message est obsolète.
|
-
MIDL2352
|
-
chaîne, tableau variable, tableau conforme et paramètres de pointeur complet peuvent être incompatibles avec les paramètres de canal pendant l’exécution
- Une méthode combinant une ou plusieurs chaînes [in], des tableaux variés, des tableaux conformes et des paramètres de pointeur complets et tout paramètre de canal [in] aboutit à la génération d’un stub qui s’exécute uniquement sur les séquences de protocole ncacn_* et ncalrpc sur les ordinateurs Windows. L’utilisation du stub pour effectuer des appels sur des séquences de protocole ncadg_* ou l’acceptation d’appels d’autres fournisseurs DE RPC DCE OSF peut générer des erreurs sur le serveur pendant l’exécution. Cette erreur se produit à partir de Windows Server 2003.
|
-
MIDL2353
|
-
le paramètre doit être dans
- Les handles asynchrones doivent être des paramètres [in].
|
-
MIDL2354
|
-
le type de paramètre d’un objet [async] doit être un double pointeur vers une interface
- Le paramètre doit être de type IAsyncManager **.
|
-
MIDL2355
|
-
type de handle asynchrone incorrect
- Le type de handle doit être IAsyncManager ou un type dérivé d’IAsyncManager.
|
-
MIDL2356
|
-
le commutateur « interne » active des fonctionnalités non prises en charge, à utiliser avec précaution
- Évitez d’utiliser ce commutateur.
|
-
MIDL2357
|
-
les procédures asynchrones ne peuvent pas utiliser le handle automatique
- Les procédures avec l’attribut [async] nécessitent des handles explicites.
|
-
MIDL2358
|
-
error_status_t doivent avoir à la fois [comm_status] et [fault_status]
- Une procédure a été spécifiée avec les attributs IDL [peut-être] ou [message] mais le type de retour a uniquement les attributs ACF [comm_status] ou [fault_status]. Les deux attributs ACF sont obligatoires.
Exemple de fichier ACF :
[comm_status] roo(); //MIDL 2358
[fault_status] bar(); //MIDL 2358
[comm_status, fault_status] baz(); //OK
|
-
MIDL2359
|
-
cette construction n’est autorisée que dans un bloc de bibliothèque
- Un module peut se produire uniquement dans un bloc de bibliothèque.
|
-
MIDL2360
|
-
redéfinition de type non valide
- Un nouveau type a été défini de manière récursive sur un type inexistant.
Exemple :
typedef roo roo[10]; //MIDL 2360
|
-
MIDL2361
|
-
les procédures avec un attribut [vararg] doivent avoir un paramètre SAFEARRAY(VARIANT) ; ordre param est [vararg], [lcid], [retval]
- La plupart des paramètres des procédures avec l’attribut [vararg] doivent se produire avant le paramètre SAFEARRAY(VARIANT). Le paramètre SAFEARRAY(VARIANT) doit être présent. Si la liste de paramètres contient un paramètre avec l’attribut [ lcid], elle doit suivre le paramètre SAFEARRAY(VARIANT). Si la liste de paramètres contient un paramètre avec l’attribut [retval], elle doit se produire après le paramètre avec l’attribut [lcid].
|
-
MIDL2363
|
-
trop de méthodes dans l’interface, nécessite Windows 2000 ou une version ultérieure
- Le compilateur MIDL n’autorise pas plus de 1 024 méthodes dans une interface lorsque vous compilez en mode /Oicf .
|
-
MIDL2364
|
-
switch est en cours d’élimination progressive
- Les commutateurs suivants sont obsolètes : /hookole, /env win16 et /env.
|
-
MIDL2365
|
-
ne peut pas dériver de IAdviseSink, IAdviseSink2 ou IAdviseSinkEx
- Ces interfaces ne peuvent pas être étendues.
|
-
MIDL2366
|
-
impossible d’attribuer une valeur par défaut
- L’attribution d’une valeur par défaut à un paramètre est autorisée en Visual Basic, mais pas en C++. Si vous utilisez C++, la valeur par défaut est ignorée.
|
-
MIDL2367
|
-
La génération de bibliothèque de types pour DOS/Win16/MAC n’est pas prise en charge
- MIDL ne prend pas en charge les bibliothèques de types 16 bits.
|
-
MIDL2368
|
-
bibliothèque de types générant une erreur, ignorée
- Une erreur non fatal s’est produite lors de la génération de la bibliothèque de types.
|
-
MIDL2369
|
-
taille de pile dépassée pour /Oi, à l’aide de /Os
- Le mode d’optimisation -Oi est limité à 128 octets d’espace de pile pour les paramètres. Le compilateur est automatiquement passé au mode d’optimisation du système d’exploitation pour contourner cette limitation.
Pour éviter cet avertissement, utilisez les modes d’optimisation -Oicf ou -Os. Le mode d’optimisation peut être modifié sur la ligne de commande en spécifiant -Oicf ou -Os au lieu de -Oi ou en ajoutant un attribut [optimize9"icf »)] ou optimize[(« s »)] à la fonction dans le fichier ACF. Cet avertissement se produit généralement lors du passage de grandes structures en tant que paramètres par valeur. La taille de la pile requise peut être abaissée en passant un pointeur vers la structure à la place. Exemple :
typedef struct
{
char a[127];
}
large;
//This function has a stack size of 132 (x86) or 136 (alpha) on 32-bit systems
void roo(large s, int a); //MIDL 2360
// workaround: pass by reference
void bar (large *s, int a);
|
-
MIDL2370
|
-
l’utilisation de /robust nécessite /Oicf, les modes de basculement
- Vous devez compiler en mode /Oicf lorsque vous spécifiez le commutateur /robust sur la ligne de commande.
|
-
MIDL2371
|
-
plage incorrecte spécifiée
- La valeur la plus élevée spécifiée dans un attribut [plage] est inférieure à la valeur la plus faible.
Exemple :
void roo([range(3,2)] int a); //MIDL 2371
|
-
MIDL2372
|
-
combinaison non valide de paramètres [in] uniquement et [out] pour l’interface [async_uuid]
- Seules les combinaisons simples d’attributs avec des paramètres [in] ou [out] sont autorisées pour ce type d’interface.
|
-
MIDL2373
|
-
Les plateformes DOS, Win16 et MAC ne sont pas prises en charge avec /robust
- MIDL prend en charge le commutateur /robust sur Microsoft Windows 2000 ou version ultérieure.
|
-
MIDL2374
|
-
la prise en charge des proxys stubless de style NT 3.51 pour les interfaces objet sera progressivement supprimée ; utilisez /Oif.
- Ce mode est obsolète. Utilisez /Oif ou /Oicf.
|
-
MIDL2375
|
-
[encode] ou [decode] avec /robust nécessite /Oicf
- La sérialisation ne peut pas être effectuée lorsque le commutateur /robust est spécifié.
|
-
MIDL2377
|
-
attributs en conflit spécifiés
- [context_handle_serialize] et [context_handle_noserialize] ont été spécifiés.
|
-
MIDL2378
|
-
[sérialiser], [noserialize] peut être appliqué à context_handles
- Les attributs ACF [context_handle_serialize] ou [context_handle_noserialize] ne peuvent être appliqués qu’aux types qui sont des handles de contexte.
Exemple de fichier IDL :
typedef /*[context_handle] */ void *PV; //Note: PV is *not* a context handle.
Exemple de fichier ACF :
typedef [context_handle_serialize] PV; //MIDL 2378
|
-
MIDL2379
|
-
Le compilateur a atteint une limite pour une représentation de chaîne de format. Consultez la documentation pour obtenir des conseils.
- Le compilateur MIDL a une limite de 64 Ko pour les chaînes de format. Cette erreur se produit généralement lorsque les fichiers IDL incluent d’autres fichiers IDL. Le fichier IDL composite généré par toutes les instructions include dépasse les limites des tables de représentation de type de l’interpréteur du moteur de marshaling. Essayez d’utiliser la directive d’importation plutôt que la directive include dans vos fichiers IDL. Pour plus d’informations, consultez Importation de fichiers d’en-tête système, inclure et importer.
|
-
MIDL2380
|
-
Le format de câble peut être incorrect, vous devrez peut-être utiliser -ms_conf_struct. Consultez la documentation pour obtenir des conseils
- Le compilateur MIDL n’a pas pu générer un format transmissible pour les données. Une façon courante d’obtenir cette erreur consiste à définir un ms_conf_struct à l’intérieur d’une structure complexe.
|
-
MIDL2381
|
-
une taille de pile ou un décalage supérieur à 64 K limite. Consultez la documentation pour obtenir des conseils.
- L’appel génère une pile supérieure à 64 Ko. Essayez de transmettre les données dans des blocs plus petits.
|
-
MIDL2382
|
-
un mode interpréteur forcé pour la plateforme 64 bits
- Les plateformes 64 bits nécessitent le mode de compilation /Oicf.
|
-
MIDL2383
|
-
La taille de l’élément de tableau est supérieure à la limite de 64 Ko.
- Tous les éléments de tableau doivent avoir une taille inférieure à 64 Ko.
|
-
MIDL2384
|
-
il ne peut y avoir qu’un seul paramètre [Icid] dans une méthode, et il doit être dernier ou avant-dernier si le dernier paramètre a [retval]
- Un paramètre avec l’attribut [lcid] doit se produire en dernier. La seule exception est lorsqu’il existe également un paramètre avec l’attribut [retval]. Lorsque les deux se produisent, l’avant-dernier paramètre de la liste de paramètres doit avoir l’attribut [ lcid]. Le dernier paramètre doit avoir l’attribut [retval].
|
-
MIDL2385
|
-
syntaxe incorrecte pour midl_pragma
- Le compilateur MIDL a détecté une erreur de syntaxe inconnue dans une instruction midl_pragma.
|
-
MIDL2386
|
-
__int3264 n’est pas pris en charge en mode /osf
- Si vous devez utiliser __int3264, compilez en mode /ms-ext.
|
-
MIDL2387
|
-
symbole non résolu dans la bibliothèque de types
- Le compilateur n’a pas pu résoudre une déclaration formelle ou un type référencé dans la bibliothèque de types.
|
-
MIDL2388
|
-
Les canaux asynchrones ne peuvent pas être passés par valeur
- Les canaux asynchrones doivent être transmis par référence ou par adresse.
|
-
MIDL2389
|
-
le décalage de paramètre dépasse la limite de 64 Ko pour les procédures interprétées
- Cette erreur signifie généralement qu’une procédure a trop de paramètres.
|
-
MIDL2390
|
-
Élément de tableau non valide
- Les canaux ne peuvent pas être utilisés comme éléments de tableau.
|
-
MIDL2391
|
-
les membres dispinterface doivent être des méthodes, des propriétés ou des interfaces
- Une dispinterface ne peut pas contenir de définitions de type, de structures, d’énumérations ou d’unions.
|
-
MIDL2392
|
-
Procédure [locale] sans [call_as]
- Les procédures objet qui ont l’attribut [local] nécessitent également l’attribut [call_as].
|
-
MIDL2393
|
-
vecteur multidimensionnel, basculement vers /Oicf
- Le mode d’optimisation /Os ne prend pas en charge les tableaux de tailles multidimensionnelles non fixés. Le compilateur a automatiquement basculé le mode d’optimisation vers /Oicf pour cette fonction.
Cet avertissement peut être supprimé globalement en modifiant le mode du compilateur en spécifiant /Oicf sur la ligne de commande MIDL ou en utilisant midl_pragma avertissement (désactiver : 2393) dans le fichier IDL. Le mode d’optimisation peut être modifié pour une fonction individuelle en ajoutant l’attribut [optimize(« icf »)] à la fonction dans le fichier ACF. L’exemple suivant illustre cet avertissement :
void roo(long s1, [size_is(s1)] long a[][30]; //MIDL2393
void bar(long s1, long s2, [size_is(s1,s2) long **a);//MIDL2393
|
-
MIDL2395
|
-
type ou construction non pris en charge dans un bloc de bibliothèque, car Oleaut32.dll prise en charge des types polymorphes de 64 Ko est manquante
- OLE Automation ne prend pas en charge les types polymorphes (tels que _int3264, INT_PTR, etc.). Ces types ont des représentations de données incompatibles entre les plateformes 32 bits et 64 bits. L’appel distant échoue au moment de l’exécution sur les plateformes 64 bits.
Remarque :
Notez qu’à partir de la version de Windows 2000, les fichiers TLB 64 bits sont pris en charge par OLE Automation en convertissant les informations TLB 32 bits au moment de l’exécution. Par conséquent, seule la génération TLB 32 bits est prise en charge par MIDL.
Si MIDL est utilisé uniquement pour générer un fichier d’en-tête, le commutateur /notlb supprime la génération du fichier TLB.
|
-
MIDL2396
|
-
ancien code interpréteur généré pour 64b
- Cette erreur est obsolète. Si vous voyez cette erreur, signalez un bogue à Microsoft en indiquant vos fichiers IDL, fichiers ACF et ligne de commande MIDL complète.
|
-
MIDL2397
|
-
le commutateur du compilateur n’est plus pris en charge
- Le ou les commutateurs spécifiés ne sont plus pris en charge.
|
-
MIDL2398
|
-
impossible d’exécuter le moteur MIDL
- À partir de la version de Windows 2000 (version MIDL 5.03.279), le compilateur MIDL est implémenté à l’aide de deux fichiers exécutables : Midl.exe (le pilote) et Midlc.exe (moteur du compilateur). Cette erreur indique que le Midl.exe ne peut pas lancer Midlc.exe. Assurez-vous que Midlc.exe se trouve dans le même répertoire que Midl.exe et qu’il s’agit de la même version.
L’erreur peut avoir été provoquée par la copie de Midl.exe mais pas Midlx.exe à partir de la dernière distribution. Exécutez midl et/ou midlc sur la ligne de commande sans aucun paramètre pour voir le numéro de version de l’exécutable. |
-
MIDL2399
|
-
commandes incorrectes du pilote
- À partir de la version de Windows 2000 (version MIDL 5.03.279), le compilateur MIDL est implémenté à l’aide de deux fichiers exécutables : Midl.exe (le pilote) et Midlc.exe (moteur du compilateur). Cette erreur indique que le fichier temporaire utilisé pour passer des commandes de Midl.exe à Midlc.exe est manquant ou endommagé. Assurez-vous que Midlc.exe se trouve dans le même répertoire que Midl.exe et qu’il s’agit de la même version.
L’erreur peut avoir été provoquée par la tentative d’exécution directe de Midlc.exe ou par la copie de Midl.exe mais pas Midlc.exe à partir de la dernière distribution. Exécutez midl et/ou midlc sur la ligne de commande sans aucun paramètre pour voir le numéro de version de l’exécutable. |
-
MIDL2400
|
-
pour ole automation, les paramètres facultatifs doivent être VARIANT ou VARIANT *
- OLE Automation exige que tous les paramètres [facultatifs] soient de type VARIANT ou VARIANT*.
Dans OLE Automation, l’utilisation de paramètres autres que VARIANT peut entraîner l’échec de l’appel au moment de l’exécution ou la transmission de données non définies pour les paramètres [facultatifs]. |
-
MIDL2401
|
-
[valeur par défaut] est appliqué à un non-VARIANT et [facultatif]. Veuillez supprimer [facultatif]
- L’attribut [defaultvalue] implique [facultatif]. L’attribut [ facultatif] n’est pas nécessaire.
|
-
MIDL2402
|
-
L’attribut [facultatif] est inapplicable en dehors d’un bloc de bibliothèque
- La fonctionnalité impliquée par l’attribut [ facultatif] ne s’applique pas aux proxys générés pour une interface en dehors d’un bloc de bibliothèque.
|
-
MIDL2403
|
-
Le type de données du paramètre [Icid] doit être long
- OLE Automation exige que les paramètres avec l’attribut [Icid] soient de type long.
|
-
MIDL2404
|
-
les procédures avec [propput], [propget] ou [propref] ne peuvent pas avoir plusieurs paramètres requis après [facultatif]
- Il ne peut pas y avoir plusieurs paramètres sans [facultatif] après le dernier paramètre avec [optional] lors de l’utilisation de [propput], [propget] ou [ propputref].
|
-
MIDL2405
|
-
[comm_status] ou [fault_status] avec le pickling nécessite -Oicf
- L’ancien mode d’optimisation -Oi ne prend pas en charge les procédures ou les paramètres avec [ comm_status] ou [ fault_status] avec le décatage (autrement dit, à l’aide de [ encode] et/ou [ décodage]).
Cet avertissement peut être supprimé globalement en spécifiant -Oicf sur la ligne de commande MIDL ou pour une fonction individuelle en ajoutant l’attribut [optimize(« icf:)] à la fonction dans le fichier ACF. En général, le mode d’optimisation -Oicf est recommandé sur le mode -Oi . |
-
MIDL2406
|
-
Incompatibilité de la version du pilote midl et du compilateur
- À partir de la version de Windows 2000 (version MIDL 5.03.279), le compilateur MIDL est implémenté à l’aide de deux fichiers exécutables : Midl.exe (le pilote) et Midlc.exe (moteur du compilateur). Cette erreur indique que la version de Midl.exe ne correspond pas à la version de Midlc.exe.
L’erreur peut avoir été provoquée par la copie de Midl.exe mais pas Midlc.exe à partir de la dernière distribution. Exécutez midl et/ou midlc sur la ligne de commande sans aucun paramètre pour voir le numéro de version de l’exécutable. |
-
MIDL2407
|
-
aucun fichier intermédiaire spécifié : utilisez Midl.exe
- À partir de la version de Windows 2000 (version MIDL 5.03.279), le compilateur MIDL est implémenté à l’aide de deux fichiers exécutables : Midl.exe (le pilote) et Midlc.exe (moteur du compilateur). Cette erreur indique que Midlc.exe a été exécuté directement au lieu d’utiliser Midl.exe.
|
-
MIDL2408
|
-
problème de traitement d’un paramètre dans une procédure
- Cette erreur peut être observée lors de l’importation de données à partir d’un TLB et lorsqu’une procédure a un paramètre non valide.
Si vous voyez cette erreur, signalez un bogue à Microsoft. Spécifiez vos fichiers IDL, fichiers ACF, fichier TLB et ligne de commande MIDL complète. |
-
MIDL2409
|
-
problème de traitement d’un champ dans une structure
- Cette erreur peut être observée lors de l’importation de données à partir d’un TLB et lorsqu’une structure a une structure ou un champ d’union non valide.
Si vous voyez cette erreur, signalez un bogue à Microsoft. Spécifiez vos fichiers IDL, fichiers ACF, fichier TLB et ligne de commande MIDL complète. |
-
MIDL2410
|
-
incohérence du compilateur interne détectée : le décalage de chaîne de format n’est pas valide. Pour plus d’informations, consultez la documentation .
- Le compilateur MIDL a détecté une valeur non valide dans ses structures de données internes. Cela peut être dû à des structures récursives ou à une violation par le compilateur de ses propres limites de représentation pour les données internes. Pour identifier et/ou contourner le problème, essayez de simplifier le fichier IDL. Pour ce faire, vous pouvez simplifier les paramètres complexes et les structures de données récursives ou réduire le fichier IDL en le fractionnant. Ce message peut être accompagné d’une impression de diagnostic avec des informations supplémentaires sur le problème.
Si vous voyez cette erreur, signalez un bogue à Microsoft. Spécifiez vos fichiers IDL, fichiers ACF, ligne de commande MIDL complète et sortie de diagnostic, le cas échéant. |
-
MIDL2411
|
-
incohérence du compilateur interne détectée : le décalage de type n’est pas valide. Pour plus d’informations, consultez la documentation .
- Le compilateur MIDL a détecté une valeur non valide dans ses structures de données internes. Cela peut être dû à des structures récursives ou à une violation par le compilateur de ses propres limites de représentation pour les données internes. Pour identifier et/ou contourner le problème, essayez de simplifier le fichier IDL. Pour ce faire, vous pouvez simplifier les paramètres complexes et les structures de données récursives ou réduire le fichier IDL en le fractionnant. Ce message peut être accompagné d’une impression de diagnostic avec des informations supplémentaires sur le problème.
Si vous voyez cette erreur, signalez un bogue à Microsoft. Spécifiez vos fichiers IDL, fichiers ACF, ligne de commande MIDL complète et sortie de diagnostic, le cas échéant. |
-
MIDL2412
|
-
La syntaxe SAFEARRAY(roo) n’est pas prise en charge en dehors du bloc de bibliothèque, utilisez LPSAFEARRAY pour le proxy
- Les SAFEARRAY explicitement typés ne sont pas autorisés en dehors d’un bloc de bibliothèque. Utilisez LPSAFEARRAY à la place.
L’exemple suivant illustre cette erreur :
void roo(SAFEARRAY(long) *a); //MIDL2412 when outside a library block
void roo(LPSAFEAEEAY a); //OK
|
-
MIDL2413
|
-
les champs bits ne sont pas pris en charge
- Les champs de bits de style C ne sont pas pris en charge par MIDL. Cela s’applique à la génération de proxy ainsi qu’à la génération TLB.
|
-
MIDL2414
|
-
les types de retour à virgule flottante ou complexe avec [décodage] ne sont pas pris en charge dans -Oicf, à l’aide de -OI
- Les procédures avec des types de retour à virgule flottante ou structure/union ne sont pas prises en charge dans le pickling de style -Oicf. Une solution pour 32 bits consiste à utiliser le mode d’optimisation -Oi lors de la sérialisation des données (à l’aide de [encode] et/ou de [décodage]). Toutefois, comme l’ancien interpréteur de style -Oi et la prise en charge du pickling sont prévus pour être supprimés après la version de Windows 2000, l’utilisation de pointeurs est fortement suggérée pour résoudre ce problème. Notez également que généralement, la modification d’une méthode d’interface pour utiliser un pointeur [out, ref] au lieu de la valeur de retour à l’origine du problème est entièrement rétrocompatible sur le câble et peut être facilement masquée de la couche d’application.
Cet avertissement peut être supprimé globalement en spécifiant -Oi sur la ligne de commande MIDL ou pour une fonction individuelle en ajoutant l’attribut [optimize(« i »)] à la fonction dans le fichier ACF. L’exemple suivant illustre le problème : roo.idl :
double GetDouble();
roo.acf :
[decode] GetDouble();
Une option pour contourner cette limitation consiste à passer un paramètre [out] pour contenir le résultat au lieu d’utiliser une valeur de retour : roo.idl :
void GetDouble([out] double *result); //top level pointer is a [ref] pointer
roo.acf :
[decode] GetDouble();
Comme mentionné précédemment, la solution décrite ci-dessus est bonne non seulement pour les nouvelles interfaces, mais également pour les anciennes. La représentation filaire pour le nouvel argument « out » est la même que pour la valeur de retour (notez void comme nouvelle valeur de retour). |
-
MIDL2415
|
-
le type de retour n’est pas pris en charge pour 64 bits lors de l’utilisation de [décodage]
- Les procédures avec des types de retour à virgule flottante ou structure/union ne sont pas prises en charge en mode 64 bits lors de la sérialisation des données ( à l’aide de [ encode] et/ou [ décodage]). Cela est lié au fait que l’ancien interpréteur -Oi et le sérialiseur de données ne sont pas pris en charge sur la plateforme 64 bits. Pour plus d’informations, consultez la description de MIDL2414.
L’exemple suivant illustre cette erreur : roo.idl :
double GetDouble();
roo.acf :
[decode] GetDouble();
Ce qui suit est recommandé comme solution de contournement pour les interfaces nouvelles et anciennes. Utilisez un paramètre [out] pour contenir le résultat au lieu d’utiliser une valeur de retour : roo.idl :
void GetDouble([out] double *result); //top level pointer is a [ref] pointer.
roo.acf :
[decode] GetDouble();
Notez que cette solution est entièrement rétrocompatible sur le câble, car la représentation filaire d’un pointeur [ref, out] ou d’un double est identique à celle d’un double. |
-
MIDL2416
|
-
le type transmis ne peut pas contenir de pointeur complet pour [wire_marshal] ou [user_marshal]
- Les types avec des attributs [ wire_marshal] ou [ user_marshal] peuvent ne pas contenir de pointeurs complets ([ ptr]). Utilisez [ unique] ou [ ref] à la place.
L’exemple suivant illustre cette erreur :
typedef struct
{
[ptr] long *a; //Should use [ref] or [unique] instead
}
st1;
typedef [wire_marshal(st1)] struct
{
long a;
}
st2:
void roo(st2 *s); //MIDL2416
|
-
MIDL2417
|
-
le type transmis doit être un pointeur ou avoir une taille constante pour [wire_marshal] et [user_marshal]
- Les types de niveau supérieur avec des attributs [ wire_marshal] ou [ user_marshal] doivent avoir une taille bien définie au moment de la compilation. Ils ne peuvent pas être ou contenir des tableaux conformes ou de taille variable.
L’exemple suivant illustre cette erreur :
typedef struct //Type contains variable-sized array
{
long s;
[size_is(s)] char a[];
}
st1;
typedef [wire_marshal(st1)] struct
{
long a;
}
st2;
void roo(st2 *s); //MIDL2417
|
-
MIDL2418
|
-
les procédures avec [propget] doivent avoir au moins un paramètre ou une valeur de retour
- Les procédures avec l’attribut [propget] doivent avoir des moyens de retourner la valeur de la propriété. Ils doivent avoir au moins un paramètre [out] ou une valeur de retour.
|
-
MIDL2461
|
-
L’attribut [readonly] a été appliqué au niveau de la méthode.
- L’attribut [readonly] ne peut être appliqué qu’au niveau du paramètre.
|
-
MIDL2465
|
-
Les structures contenant des tableaux conformes doivent être passées par référence
- Les paramètres de niveau supérieur dans RPC doivent avoir une taille bien définie au moment de la compilation. Ils ne peuvent pas être, ni contenir un tableau conforme ou de taille variable. En outre, les utilisateurs ne peuvent pas encoder/décoder un type sans taille bien définie. Les applications doivent transmettre par référence un struct conforme/un struct variable.
L’exemple suivant illustre cette erreur :
typedef struct //Type contains variable-sized array
{
long s;
[size_is(s)] char a[];
}
st1;
void roo(st1 s); //MIDL2465
on .acf file
typedef [encode,decode] st1; //MIDL2465
|
-
MIDL9008
|
-
code> d’erreur du système de problème <du compilateur interne : le compilateur ne peut pas continuer pour une raison inconnue. Consultez la documentation pour une solution de contournement.
- Le compilateur n’a pas pu continuer et la cause de l’erreur est inconnue. Le numéro d’erreur hexadécimal est un identificateur d’erreur système. La compilation a peut-être échoué en raison d’un problème externe, tel qu’une condition de mémoire insuffisante. Dans ce cas, vous trouverez plus d’informations dans Winerror.h ou Ntstatus.h.
Deux situations génèrent généralement cette erreur :
- La récupération du compilateur MIDL a échoué après la détection d’une erreur dans le fichier IDL. Si MIDL a retourné des messages d’erreur concernant votre fichier IDL, essayez de les corriger et de les recompiler. S’il n’y a aucun message d’erreur, le compilateur a peut-être échoué avant qu’il puisse signaler une erreur. Recherchez une erreur de syntaxe sur la ligne pour laquelle l’erreur interne du compilateur est signalée.
- Le compilateur MIDL n’a pas pu générer de code correct sous une option d’optimisation spécifiée. Essayez de modifier les modes du compilateur, de compiler en mode mixte (/Os) ou de supprimer toutes les optimisations. Vous pouvez également recompiler à l’aide de l’indicateur /NO_FORMAT_OPT pour supprimer l’optimisation par défaut de MIDL des descripteurs de procédure et de type.
Parfois, cette erreur se produit même lorsque le fichier IDL est correct et qu’aucune option d’optimisation n’est utilisée. Si c’est le cas, essayez de réécrire la section de code à proximité de l’emplacement où l’erreur a été signalée en supprimant les modifications récentes, en simplifiant ou en réorganisant les types de données, en modifiant les prototypes, ou bien commencez à commenter des parties du fichier IDL pour localiser le code problématique. Si aucune de ces options ne fonctionne, ou si vous pensez que le problème peut être lié à un bogue dans Midl.exe, veuillez en informer Microsoft en fournissant tous les détails appropriés. |