Bagikan melalui


RPC_ASYNC_NOTIFICATION_INFO union (rpcasync.h)

Serikat RPC_ASYNC_NOTIFICATION_INFO berisi informasi pemberitahuan untuk panggilan prosedur jarak jauh asinkron. Informasi pemberitahuan ini dapat dikonfigurasi untuk port penyelesaian I/O (IOC), panggilan prosedur asinkron Windows (APC), pesan Windows, dan pemberitahuan peristiwa Windows.

Sintaks

typedef union _RPC_ASYNC_NOTIFICATION_INFO {
  struct {
    PFN_RPCNOTIFICATION_ROUTINE NotificationRoutine;
    HANDLE                      hThread;
  } APC;
  struct {
    HANDLE       hIOPort;
    DWORD        dwNumberOfBytesTransferred;
    DWORD_PTR    dwCompletionKey;
    LPOVERLAPPED lpOverlapped;
  } IOC;
  struct {
    HWND hWnd;
    UINT Msg;
  } HWND;
  HANDLE                      hEvent;
  PKEVENT                     Event;
  PFN_RPCNOTIFICATION_ROUTINE NotificationRoutine;
} RPC_ASYNC_NOTIFICATION_INFO, *PRPC_ASYNC_NOTIFICATION_INFO;

Anggota

APC

Struktur yang digunakan untuk pemberitahuan panggilan prosedur asinkron (APC) Windows.

APC.NotificationRoutine

Memanggil rutinitas pemberitahuan APC yang ditentukan pengguna.

APC.hThread

Tangani ke utas tempat APC pemberitahuan harus diposting. Nilai nol menunjukkan utas saat ini.

IOC

Struktur yang digunakan untuk pemberitahuan pada port penyelesaian I/O.

IOC.hIOPort

Tangani ke port penyelesaian I/O.

IOC.dwNumberOfBytesTransferred

Diatur oleh klien RPC sebelum panggilan asinkron dimulai. Ketika pemberitahuan dikirimkan ke port penyelesaian, nilai ini diisi di lokasi yang diarahkan oleh parameter lpNumberOfBytesTransferred dari fungsi GetQueuedCompletionStatus .

IOC.dwCompletionKey

Diatur oleh klien RPC sebelum panggilan asinkron dimulai. Ketika pemberitahuan dikirimkan ke port penyelesaian, nilai ini diisi di lokasi yang diarahkan oleh parameter lpCompletionKey dari fungsi GetQueuedCompletionStatus .

IOC.lpOverlapped

Diatur oleh klien RPC sebelum panggilan asinkron dimulai. Ketika pemberitahuan dikirimkan ke port penyelesaian, nilai ini diisi di lokasi yang diarahkan oleh parameter lpOverlapped dari fungsi GetQueuedCompletionStatus .

HWND

Bidang yang digunakan untuk pemberitahuan oleh pesan Windows. Ketika run time RPC memposting pesan, wParam adalah nol, dan lParam menunjuk ke handel asinkron untuk panggilan ( RPC_ASYNC_STATE).

Windows Server 2003 atau yang lebih baru: Pemberitahuan melalui HWND tidak digunakan lagi. Jangan gunakan anggota ini.

HWND.hWnd

Mengidentifikasi jendela tempat pesan harus diposting.

HWND.Msg

Pesan yang akan diposting.

hEvent

Menangani yang digunakan untuk pemberitahuan oleh peristiwa.

Event

NotificationRoutine

Windows Vista atau versi Windows yang lebih lama: COM menggunakan ini secara internal untuk panggilan balik langsung. Jangan gunakan anggota ini.

Windows 7 atau versi Windows yang lebih baru: Penunjuk fungsi opsional ke skema pemberitahuan yang ditentukan pengguna yang dibangun di atas penyelesaian panggilan RPC. Sebagai contoh, aplikasi dapat memanggil SubmitThreadpoolWork dari panggilan balik pemberitahuan.

Catatan Melakukan panggilan RPC tambahan, memblokir, atau melakukan pekerjaan jangka panjang dari panggilan balik pemberitahuan sangat tidak disarankan.
 

Keterangan

Sebelum Windows Vista dan versi Windows yang lebih lama , RPC_ASYNC_NOTIFICATION_INFO union adalah bagian dari struktur RPC_ASYNC_STATE . Silakan lihat topik RPC_ASYNC_STATE untuk informasi tambahan.

Persyaratan

   
Klien minimum yang didukung Windows XP dengan SP2 [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 dengan SP1 [hanya aplikasi desktop]
Header rpcasync.h (termasuk Rpc.h)

Lihat juga

RPC_ASYNC_STATE