RPC_ASYNC_NOTIFICATION_INFO union (rpcasync.h)
RPC_ASYNC_NOTIFICATION_INFO联合包含异步远程过程调用的通知信息。 可以为 I/O 完成端口配置此通知信息, (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
用于 I/O 完成端口上的通知的结构。
IOC.hIOPort
I/O 完成端口的句柄。
IOC.dwNumberOfBytesTransferred
在启动异步调用之前由 RPC 客户端设置。 当通知传递到完成端口时,此值将在 GetQueuedCompletionStatus 函数的 lpNumberOfBytesTransferred 参数指向的位置中填充。
IOC.dwCompletionKey
在启动异步调用之前由 RPC 客户端设置。 当通知传递到完成端口时,此值将在 GetQueuedCompletionStatus 函数的 lpCompletionKey 参数指向的位置填充。
IOC.lpOverlapped
在启动异步调用之前由 RPC 客户端设置。 当通知传递到完成端口时,此值将填充到 GetQueuedCompletionStatus 函数的 lpOverlapped 参数指向的位置。
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 或更高版本:一个可选函数指针,指向基于 RPC 调用完成生成的用户定义的通知方案。 例如,应用程序可以从通知回调调用 SubmitThreadpoolWork 。
注解
在 Windows Vista 和早期版本的 Windows 之前, RPC_ASYNC_NOTIFICATION_INFO 联合是 RPC_ASYNC_STATE 结构的一部分。 有关其他信息,请参阅 RPC_ASYNC_STATE 主题。
要求
最低受支持的客户端 | 具有 SP2 的 Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 SP1 [仅限桌面应用] |
标头 | rpcasync.h (包括 Rpc.h) |