Fungsi RpcAsyncCompleteCall (rpcasync.h)
Klien dan server memanggil fungsi RpcAsyncCompleteCall untuk menyelesaikan panggilan prosedur jarak jauh asinkron.
Sintaks
RPC_STATUS RpcAsyncCompleteCall(
PRPC_ASYNC_STATE pAsync,
void *Reply
);
Parameter
pAsync
Arahkan ke struktur RPC_ASYNC_STATE yang berisi informasi panggilan asinkron.
Reply
Penunjuk ke buffer yang berisi nilai pengembalian panggilan prosedur jarak jauh.
Menampilkan nilai
Selain nilai berikut, RpcAsyncCompleteCall juga dapat mengembalikan RPC umum atau kesalahan khusus aplikasi.
Nilai | Makna |
---|---|
|
Panggilan berhasil diselesaikan. |
|
Handel panggilan asinkron tidak valid. |
|
Panggilan belum selesai. |
|
Panggilan dibatalkan. |
Keterangan
Menyelesaikan panggilan RPC asinkron. Klien dan server memanggil fungsi ini.
Klien: Balasan menunjuk ke buffer yang akan menerima balasan. Jika klien memanggil fungsi ini sebelum balasan tiba, panggilan akan mengembalikan RPC_S_ASYNC_CALL_PENDING. Buffer harus valid dan harus cukup besar untuk menerima nilai pengembalian. Jika panggilan ini berhasil, parameter [out] dan [in,out] valid. Jika panggilan tidak mengembalikan RPC_S_ASYNC_CALL_PENDING, pemanggilan RpcAsyncCompleteCall ini adalah final untuk panggilan RPC. Setelah panggilan fungsi ini, terlepas dari keberhasilan atau kegagalan, semua sumber daya yang dialokasikan oleh runtime RPC dibebaskan. Panggilan berikutnya ke fungsi RpcAsyncCompleteCall atau RpcAsyncCancelCall memiliki hasil yang tidak ditentukan sampai panggilan baru pada struktur RPC_ASYNC_STATE dimulai.
Server: Balasan menunjuk ke buffer yang berisi nilai pengembalian yang perlu dikirim ke klien. Anda hanya perlu mengatur buffer yang valid untuk Balasan jika fungsi Anda dinyatakan dengan jenis pengembalian. Sebelum panggilan ke RpcAsyncCompleteCall dilakukan, parameter [out] dan [in,out] harus diperbarui. Parameter ini, dan handel asinkron, tidak boleh disentuh setelah panggilan ke RpcAsyncCompleteCall kembali. Pemanggilan RpcAsyncCompleteCall pada server sudah final. Jika panggilan fungsi RpcAsyncCompleteCall gagal, runtime RPC membebaskan parameter.
Parameter [out] apa pun, termasuk parameter [comm_status] dan [fault_status] , hanya valid jika nilai pengembalian RpcAsyncCompleteCall RPC_S_OK.
Persyaratan
Klien minimum yang didukung | Windows 2000 Professional [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows 2000 Server [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | rpcasync.h (termasuk Rpc.h) |
Pustaka | Rpcrt4.lib |
DLL | Rpcrt4.dll |