объединение RPC_ASYNC_NOTIFICATION_INFO (rpcasync.h)
Объединение RPC_ASYNC_NOTIFICATION_INFO содержит сведения об уведомлениях для асинхронных удаленных вызовов процедур. Эти сведения можно настроить для портов завершения ввода-вывода (IOC), асинхронных вызовов процедур Windows (APC), обмена сообщениями Windows и уведомлений о событиях Windows.
Синтаксис
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;
Члены
APC
Структура, используемая для уведомлений о вызове асинхронных процедур Windows (APC).
APC.NotificationRoutine
Вызывает определяемую пользователем процедуру уведомлений APC.
APC.hThread
Дескриптор потока, в котором должно быть опубликовано уведомление APC. Значение, равное нулю, указывает на текущий поток.
IOC
Структура, используемая для уведомления через порт завершения ввода-вывода.
IOC.hIOPort
Дескриптор к порту завершения ввода-вывода.
IOC.dwNumberOfBytesTransferred
Устанавливается клиентом RPC перед запуском асинхронного вызова. При доставке уведомления на порт завершения это значение заполняется в расположении, на которое указывает параметр lpNumberOfBytesTransferred функции GetQueuedCompletionStatus .
IOC.dwCompletionKey
Устанавливается клиентом RPC перед запуском асинхронного вызова. Когда уведомление доставляется на порт завершения, это значение заполняется в расположении, на которое указывает параметр lpCompletionKey функции GetQueuedCompletionStatus .
IOC.lpOverlapped
Устанавливается клиентом RPC перед запуском асинхронного вызова. Когда уведомление доставляется на порт завершения, это значение заполняется в расположении, на которое указывает параметр lpOverlapped функции GetQueuedCompletionStatus .
HWND
Поля, используемые для уведомления сообщением Windows. Когда время выполнения RPC отправляет сообщение, wParam равен нулю, а lParam указывает на асинхронный дескриптор для вызова ( RPC_ASYNC_STATE).
Windows Server 2003 или более поздней версии: Уведомление через HWND не рекомендуется. Не используйте этот элемент.
HWND.hWnd
Определяет окно, в которое должно быть отправлено сообщение.
HWND.Msg
Сообщение для публикации.
hEvent
Дескриптор, используемый для уведомления событием.
Event
NotificationRoutine
Windows Vista или более ранние версии Windows: COM использует это внутренне для прямых обратных вызовов. Не используйте этот элемент.
Windows 7 или более поздние версии Windows: необязательный указатель на функцию, определяемую пользователем схему уведомлений, созданную на основе завершения вызова RPC. Например, приложение может вызывать SubmitThreadpoolWork из обратного вызова уведомления.
Комментарии
До Windows Vista и более ранних версий Windows объединение RPC_ASYNC_NOTIFICATION_INFO было частью структуры RPC_ASYNC_STATE . Дополнительные сведения см . в разделе RPC_ASYNC_STATE .
Требования
Минимальная версия клиента | Windows XP с пакетом обновления 2 (SP2) [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 с пакетом обновления 1 (SP1) [только классические приложения] |
Верхняя часть | rpcasync.h (включая Rpc.h) |