struktur RPC_ASYNC_STATE (rpcasync.h)
Struktur RPC_ASYNC_STATE memegang status panggilan prosedur jarak jauh asinkron. RPC_ASYNC_STATE adalah handel untuk struktur ini, digunakan untuk menunggu, mengkueri, membalas, atau membatalkan panggilan asinkron.
Sintaks
typedef struct _RPC_ASYNC_STATE {
unsigned int Size;
unsigned long Signature;
long Lock;
unsigned long Flags;
void *StubInfo;
void *UserInfo;
void *RuntimeInfo;
RPC_ASYNC_EVENT Event;
RPC_NOTIFICATION_TYPES NotificationType;
RPC_ASYNC_NOTIFICATION_INFO u;
LONG_PTR Reserved[4];
} RPC_ASYNC_STATE, *PRPC_ASYNC_STATE;
Anggota
Size
Ukuran struktur ini, dalam byte. Lingkungan menetapkan anggota ini ketika RpcAsyncInitializeHandle dipanggil. Jangan ubah anggota ini.
Signature
Lingkungan run-time menetapkan anggota ini ketika RpcAsyncInitializeHandle dipanggil. Jangan ubah anggota ini.
Lock
Lingkungan run-time menetapkan anggota ini ketika RpcAsyncInitializeHandle dipanggil. Jangan ubah anggota ini.
Flags
Anggota bendera dapat diatur ke nilai berikut.
Terus-menerus | Makna |
---|---|
|
Memposting pesan pemberitahuan saat operasi asinkron selesai. |
Bendera ini digunakan dengan pipa DCE, yang memungkinkan aplikasi mengirim atau menerima data dalam beberapa blok. Program dapat mengirim aliran data berkelanjutan atau menunggu setiap blok ditransmisikan sebelum mengirim blok berikutnya. Jika tidak menunggu, pustaka run-time RPC akan menyangga output hingga dapat dikirim. Ketika transmisi data selesai, pustaka RPC mengirimkan pemberitahuan kepada aplikasi. Jika aplikasi menentukan bendera RPC_C_NOTIFY_ON_SEND_COMPLETE, pustaka RPC mengirimkannya sebagai anggota enumerasi RPC_NOTIFICATION_TYPES setelah menyelesaikan setiap operasi pengiriman.
StubInfo
Dicadangkan untuk digunakan oleh stub. Jangan gunakan anggota ini.
UserInfo
Gunakan anggota ini untuk informasi khusus aplikasi apa pun yang ingin Anda lacak dalam struktur ini.
RuntimeInfo
Dicadangkan untuk digunakan oleh lingkungan run-time RPC. Jangan gunakan anggota ini.
Event
Jenis peristiwa yang terjadi. Lingkungan run-time RPC mengatur bidang ini ke anggota enumerasi RPC_ASYNC_EVENT .
NotificationType
Jenis pemberitahuan yang harus digunakan run time RPC untuk memberi tahu klien tentang terjadinya peristiwa, seperti penyelesaian panggilan atau penyelesaian peristiwa.
Nilai | Makna |
---|---|
|
Tidak ada pemberitahuan yang ditentukan; RPC_ASYNC_NOTIFICATION_INFO tidak diinisialisasi. |
|
Mekanisme pemberitahuan adalah peristiwa Windows. |
|
Mekanisme pemberitahuan adalah panggilan prosedur asinkron Windows. |
|
Mekanisme pemberitahuan adalah port penyelesaian I/O. |
|
Mekanisme pemberitahuan adalah pesan sistem Windows.
Windows Server 2003 atau yang lebih baru: Pemberitahuan melalui HWND tidak digunakan lagi. Jangan gunakan nilai ini. |
|
Mekanisme pemberitahuan adalah panggilan balik fungsi. |
u
Berisi informasi pemberitahuan asinkron yang diformat untuk jenis mekanisme yang ditentukan dalam NotificationType.
Reserved[4]
Disediakan untuk kompatibilitas dengan versi mendatang, jika ada. Jangan gunakan anggota ini.
Keterangan
Klien mengalokasikan ruang untuk struktur RPC_ASYNC_STATE dan handel terkait, dan memanggil RpcAsyncInitializeHandle untuk menginisialisasi struktur. Setelah lingkungan run-time berhasil menginisialisasi struktur, klien menginisialisasi NotificationType, dan tepat salah satu struktur berikut dalam penyatuan RPC_ASYNC_NOTIFICATION_INFO : APC untuk panggilan prosedur asinkron Windows, IOC untuk port penyelesaian I/O, HWND untuk pesan sistem Windows, atau hEvent untuk peristiwa Windows. Jika metode pemberitahuan yang dipilih adalah RpcNotificationTypeNone, tidak ada bidang serikat yang perlu diinisialisasi. Klien RPC juga dapat menginisialisasi bidang UserInfo secara opsional.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Header | rpcasync.h (termasuk Rpc.h) |