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 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 obligatoires.

liste d’attributs

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.

nom du paramètre

Spécifie le nom du paramètre facultatif.

Liste facultative-param

Spécifie zéro, un 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 correspond à une 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’ordonnancement des paramètres suivant (de gauche à droite) :

  1. Paramètres obligatoires (paramètres qui n’ont pas les attributs [ DefaultValue ] ou [ facultatifs ] )
  2. paramètres facultatifs avec ou sans l’attribut [ DefaultValue ] ,
  3. paramètres avec l’attribut [ facultatif ] et sans l’attribut [ DefaultValue ] ,
  4. [ paramètre LCID ] , le cas échéant,
  5. [retVal ] paramètre

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

facultatif

Exemple de fichier ODL

Syntaxe du fichier ODL

retval

TYPEFLAGS