defaultvalue (attribut)

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_interface

Spécifie le nom de l’interface.

type de retour

Spécifie le type de retour de la fonction.

nom de la fonction

Spécifie le nom de la fonction à laquelle l’attribut [defaultvalue] sera appliqué.

mandatory-param-list

Spécifie sur 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, chacun d’entre eux devant avoir une valeur par défaut.

Notes

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 le classement des paramètres suivant (de gauche à droite) :

  1. Paramètres obligatoires (paramètres qui n’ont pas les attributs [valeur par défaut] ou [facultatif] ),
  2. paramètres facultatifs avec ou sans l’attribut [defaultvalue],
  3. avec l’attribut [facultatif] et sans l’attribut [defaultvalue],
  4. [lcid] paramètre, le cas échéant,
  5. 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

dispinterface

Génération d’une bibliothèque de types avec MIDL

Interface

lcid

Optionnel

Exemple de fichier ODL

Syntaxe de fichier ODL

retval

TYPEFLAGS