次の方法で共有


共用体RPC_ASYNC_NOTIFICATION_INFO (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 を投稿するスレッドを処理します。 値 0 は、現在のスレッドを示します。

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 は 0 になり、 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 トピックを参照してください。

要件

   
サポートされている最小のクライアント WINDOWS XP と SP2 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 SP1 [デスクトップ アプリのみ]
Header rpcasync.h (Rpc.h を含む)

関連項目

RPC_ASYNC_STATE