Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
L’attribut [defaultvalue] vous permet de spécifier une valeur par défaut pour un paramètre facultatif typé.
interface interface-name
{
return-type function-name(
mandatory-param-list,
[[attribute-list,] defaultvalue(value)] param-type param-name
[ , optional-param-list]);
}
Paramètres
-
nom de l’interface
-
Spécifie le nom de l’interface.
-
type de retour
-
Spécifie le type de retour de la fonction.
-
nom de fonction
-
Spécifie le nom de la fonction à laquelle l’attribut [defaultvalue] sera appliqué.
-
obligatoire-param-list
-
Spécifie un ou plusieurs paramètres requis.
-
attribute-list
-
Spécifie une liste d’un ou plusieurs attributs, séparés par des virgules, qui s’appliquent au paramètre.
-
param-type
-
Indique le type du paramètre facultatif.
-
param-name
-
Spécifie le nom du paramètre facultatif.
-
optional-param-list
-
Spécifie zéro ou plusieurs paramètres supplémentaires, dont chacun doit avoir une valeur par défaut.
Remarques
La valeur par défaut que vous spécifiez pour le paramètre peut être n’importe quelle constante, ou une expression qui se résout en constante, qui peut être représentée par un VARIANT. Plus précisément, vous ne pouvez pas appliquer l’attribut [defaultvalue] à un paramètre qui est une structure, un tableau ou un type SAFEARRAY .
Le compilateur MIDL accepte l’ordre des paramètres suivant (de gauche à droite) :
- Paramètres obligatoires (paramètres qui n’ont pas les attributs [defaultvalue] ou [facultatif] ),
- paramètres facultatifs avec ou sans l’attribut [defaultvalue] ;
- paramètres avec l’attribut [facultatif] et sans l’attribut [defaultvalue],
- [lcid] paramètre, le cas échéant,
- Paramètre [retval]
Exemples
interface IFace : IUnknown
{
HRESULT Ex1([defaultvalue(44)] LONG i);
HRESULT Ex2([defaultvalue(44)] SHORT i);
...
};
interface QueryDef : IUnknown
{
HRESULT OpenRecordset( [in, defaultvalue(DBOPENTABLE)]
LONG Type,
[out,retval] Recordset **pprst);
}
// Type is now known to be a LONG type (good for browser in VBA and
// good for a C/C++ programmer) and has a default value of
// DBOPENTABLE
Voir aussi