共用体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 を呼び出す場合があります。
解説
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 を含む) |