共用方式為


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

注意 強烈建議不要從通知回呼進行其他 RPC 呼叫、封鎖或執行長時間執行的工作。
 

備註

在 Windows Vista 和舊版 Windows 之前, RPC_ASYNC_NOTIFICATION_INFO 聯集是 RPC_ASYNC_STATE 結構的一部分。 如需詳細資訊 ,請參閱RPC_ASYNC_STATE 主題。

需求

   
最低支援的用戶端 具有 SP2 的 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 SP1 [僅限傳統型應用程式]
標頭 rpcasync.h (包含 Rpc.h)

另請參閱

RPC_ASYNC_STATE