RPC_ASYNC_NOTIFICATION_INFO union
The RPC_ASYNC_NOTIFICATION_INFO union contains notification information for asynchronous remote procedure calls. This notification information can be configured for I/O completion ports (IOC), Windows asynchronous procedure calls (APC), Windows messaging, and Windows event notification.
Syntax
typedef union { 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; PFN_RPCNOTIFICATION_ROUTINE NotificationRoutine; } RPC_ASYNC_NOTIFICATION_INFO, *PRPC_ASYNC_NOTIFICATION_INFO;
Members
- APC
-
Structure used for Windows asynchronous procedure call (APC) notifications.
- NotificationRoutine
-
Calls the user-defined APC notification routine.
- hThread
-
Handle to the thread on which the notification APC should be posted. A value of zero indicates the current thread.
- IOC
-
Structure used for notification on an I/O completion port.
- hIOPort
-
Handle to the I/O completion port.
- dwNumberOfBytesTransferred
-
Set by the RPC client before the asynchronous call is started. When the notification is delivered to the completion port, this value is filled in the location pointed to by the lpNumberOfBytesTransferred parameter of the GetQueuedCompletionStatus function.
- dwCompletionKey
-
Set by the RPC client before the asynchronous call is started. When the notification is delivered to the completion port, this value is filled in the location pointed to by the lpCompletionKey parameter of the GetQueuedCompletionStatus function.
- lpOverlapped
-
Set by the RPC client before the asynchronous call is started. When the notification is delivered to the completion port, this value is filled in the location pointed to by the lpOverlapped parameter of the GetQueuedCompletionStatus function.
- HWND
-
Fields used for notification by a Windows message. When the RPC run time posts the message, wParam is zero, and lParam points to the asynchronous handle for the call (the RPC_ASYNC_STATE).
Windows Server 2003 or later: Notification via the HWND is deprecated. Do not use this member.
- hWnd
-
Identifies the window to which the message should be posted.
- Msg
-
Message to be posted.
- hEvent
-
Handle used for notification by an event.
- NotificationRoutine
-
Windows Vista or earlier versions of Windows: COM uses this internally for direct callbacks. Do not use this member.
Windows 7 or later versions of Windows: An optional function pointer to a user-defined notification scheme built on top of RPC call completion. As an example, an application could call SubmitThreadpoolWork from the notification callback.
Note Making additional RPC calls, blocking, or performing long running work from notification callbacks is strongly discouraged.
Remarks
Prior to Windows Vista and earlier versions of Windows, the RPC_ASYNC_NOTIFICATION_INFO union was part of the RPC_ASYNC_STATE structure. Please see the RPC_ASYNC_STATE topic for additional information.
Requirements
|
Minimum supported client |
Windows XP with SP2 [desktop apps only] |
|---|---|
|
Minimum supported server |
Windows Server 2003 with SP1 [desktop apps only] |
|
Header |
|
See also