atribut defaultvalue
Atribut [defaultvalue] memungkinkan Anda menentukan nilai default untuk parameter opsional yang ditik.
interface interface-name
{
return-type function-name(
mandatory-param-list,
[[attribute-list,] defaultvalue(value)] param-type param-name
[ , optional-param-list]);
}
-
nama antarmuka
-
Menentukan nama antarmuka.
-
jenis pengembalian
-
Menentukan jenis pengembalian fungsi.
-
nama fungsi
-
Menentukan nama fungsi tempat atribut [defaultvalue] akan diterapkan.
-
mandatory-param-list
-
Menentukan pada atau beberapa parameter yang diperlukan.
-
daftar atribut
-
Menentukan daftar satu atau beberapa atribut, dipisahkan oleh koma, yang berlaku untuk parameter .
-
jenis param
-
Menunjukkan jenis parameter opsional.
-
param-name
-
Menentukan nama parameter opsional.
-
opsional-param-list
-
Menentukan nol atau lebih parameter tambahan, yang masing-masing harus memiliki nilai default.
Nilai default yang Anda tentukan untuk parameter dapat berupa konstanta apa pun, atau ekspresi yang diselesaikan ke konstanta, yang dapat diwakili oleh VARIAN. Secara khusus, Anda tidak dapat menerapkan atribut [defaultvalue] ke parameter yang merupakan struktur, array, atau jenis SAFEARRAY .
Pengkompilasi MIDL menerima pengurutan parameter berikut (dari kiri-ke-kanan):
- Parameter yang diperlukan (parameter yang tidak memiliki atribut[defaultvalue] atau [opsional]),
- parameter opsional dengan atau tanpa atribut [defaultvalue] ,
- parameter dengan atribut [opsional] dan tanpa atribut [defaultvalue] ,
- Parameter [lcid] , jika ada,
- [retval] parameter
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