atribut out

Atribut [out] mengidentifikasi parameter penunjuk yang dikembalikan dari prosedur yang dipanggil ke prosedur panggilan (dari server ke klien).

[ [function-attribute-list] ] type-specifier [pointer-declarator] function-name(
    [ out [ , parameter-attribute-list ] ] type-specifier [declarator]
    , ...
);

Parameter

function-attribute-list

Menentukan atribut nol atau lebih yang berlaku untuk fungsi. Atribut fungsi yang valid adalah [callback], [local]; atribut pointer [ref], [unique], atau [ptr]; dan atribut penggunaan [string], [abaikan], dan [context_handle].

type-specifier

Menentukan pengidentifikasi jenis atau jenis base_type, struct, union, atau enum . Spesifikasi penyimpanan opsional dapat mendahului penentu jenis.

deklarator penunjuk

Menentukan nol atau lebih deklarator penunjuk. Deklarator pointer sama dengan deklarator penunjuk yang digunakan dalam C; ini dibangun dari penunjuk * , pengubah seperti jauh, dan konsekuensi kualifikasi.

nama fungsi

Menentukan nama prosedur jarak jauh.

parameter-attribute-list

Menentukan atribut nol atau lebih yang sesuai untuk jenis parameter tertentu. Atribut parameter dengan atribut [out] juga dapat mengambil atribut directional [out]; atribut bidang [first_is], [last_is], [length_is], [max_is], [size_is], dan [switch_type]; atribut pointer [ref], [unique], atau [ptr]; dan atribut penggunaan [context_handle] dan [string]. Atribut penggunaan [abaikan] tidak dapat digunakan sebagai atribut parameter. Pisahkan beberapa atribut dengan koma.

deklarator

Menentukan deklarator standar, seperti pengidentifikasi, deklarator penunjuk, dan deklarator array. Untuk informasi selengkapnya, lihat Array dan Sized-Pointer Atribut, array, dan Array dan Pointer. Deklarator parameter dalam deklarator fungsi, seperti nama parameter, bersifat opsional.

Keterangan

Atribut [out] menunjukkan bahwa parameter yang bertindak sebagai penunjuk dan data terkait dalam memori akan diteruskan kembali dari prosedur yang disebut ke prosedur panggilan.

Atribut [out] harus berupa pointer. Pengompilasi IDL DCE memerlukan kehadiran * eksplisit sebagai deklarasi penunjuk dalam deklarasi parameter. Microsoft IDL menawarkan ekstensi yang menghilangkan persyaratan ini dan memungkinkan array atau jenis penunjuk yang ditentukan sebelumnya.

Atribut terkait, [in], menunjukkan bahwa parameter diteruskan dari prosedur panggilan ke prosedur yang dipanggil. Atribut [in] dan [out] menentukan arah di mana parameter dilewatkan. Parameter dapat didefinisikan sebagai [in]-only, [out]-only, atau [in, out].

Parameter [out]-only diasumsikan tidak terdefinisi ketika prosedur jarak jauh dipanggil dan memori untuk objek dialokasikan oleh server. Karena pointer/parameter tingkat atas harus selalu menunjuk ke penyimpanan yang valid, dan karenanya tidak boleh NULL, [out] tidak dapat diterapkan ke pointer [unik] atau [ptr] tingkat atas. Parameter yang merupakan parameter [unik] atau [ptr] harus berupa parameter [in] atau [in, out].

Contoh

HRESULT MyFunction([out] short * pcount);

Lihat juga

Array

Jenis Dasar MIDL

panggilan balik

const

context_handle

Enum

first_is

Mengabaikan

In

last_is

length_is

Lokal

max_is

Ptr

ref

size_is

String

struktur

switch_type

union

Unik