Udostępnij przez


atrybut defaultvalue

Atrybut [defaultvalue] umożliwia określenie wartości domyślnej dla wpisanego opcjonalnego parametru.

interface interface-name
{
  return-type function-name(
        mandatory-param-list, 
        [[attribute-list,] defaultvalue(value)] param-type param-name
        [ , optional-param-list]);
}

Parametry

nazwa interfejsu

Określa nazwę interfejsu.

zwracany typ

Określa zwracany typ funkcji.

nazwa funkcji

Określa nazwę funkcji, do której zostanie zastosowany atrybut [defaultvalue].

lista parametrów obowiązkowych

Określa co najmniej jeden wymagany parametr.

lista atrybutów

Określa listę co najmniej jednego atrybutu rozdzielanego przecinkami, które mają zastosowanie do parametru.

typ param

Wskazuje typ opcjonalnego parametru.

param-name

Określa nazwę opcjonalnego parametru.

opcjonalna lista parametrów

Określa zero lub więcej dodatkowych parametrów, z których każda musi mieć wartość domyślną.

Uwagi

Wartość domyślna określona dla parametru może być dowolną stałą lub wyrażeniem, które jest rozpoznawane jako stała, która może być reprezentowana przez wariant. W szczególności nie można zastosować atrybutu [defaultvalue] do parametru, który jest strukturą, tablicą lub typem SAFEARRAY .

Kompilator MIDL akceptuje następujące porządkowanie parametrów (od lewej do prawej):

  1. Wymagane parametry (parametry, które nie mają atrybutów [defaultvalue] lub [opcjonalnie],
  2. parametry opcjonalne z atrybutem [defaultvalue] lub bez,
  3. parametry z atrybutem [opcjonalny] i bez atrybutu [defaultvalue],
  4. [lcid] parametr, jeśli istnieje,
  5. [retval] parametr

Przykłady

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

Zobacz także

dispinterface

generowanie biblioteki typów przy użyciu MIDL

interfejsu

lcid

fakultatywny

Przykład pliku ODL

Składnia pliku ODL

ponowna ponowna retval

TYPEFLAGS