Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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):
- Wymagane parametry (parametry, które nie mają atrybutów [defaultvalue] lub [opcjonalnie],
- parametry opcjonalne z atrybutem [defaultvalue] lub bez,
- parametry z atrybutem [opcjonalny] i bez atrybutu [defaultvalue],
- [lcid] parametr, jeśli istnieje,
- [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