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 或更新版本的 Windows:在 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) |