Share via


união RPC_ASYNC_NOTIFICATION_INFO (rpcasync.h)

A união RPC_ASYNC_NOTIFICATION_INFO contém informações de notificação para chamadas de procedimento remoto assíncronas. Essas informações de notificação podem ser configuradas para IOC (portas de conclusão de E/S), APC (chamadas de procedimento assíncrono) do Windows, mensagens do Windows e notificação de eventos do Windows.

Sintaxe

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;

Membros

APC

Estrutura usada para notificações de APC (chamada de procedimento assíncrono) do Windows.

APC.NotificationRoutine

Chama a rotina de notificação de APC definida pelo usuário.

APC.hThread

Manipule para o thread no qual a APC de notificação deve ser postada. Um valor zero indica o thread atual.

IOC

Estrutura usada para notificação em uma porta de conclusão de E/S.

IOC.hIOPort

Identificador para a porta de conclusão de E/S.

IOC.dwNumberOfBytesTransferred

Definido pelo cliente RPC antes que a chamada assíncrona seja iniciada. Quando a notificação é entregue à porta de conclusão, esse valor é preenchido no local apontado pelo parâmetro lpNumberOfBytesTransferred da função GetQueuedCompletionStatus .

IOC.dwCompletionKey

Definido pelo cliente RPC antes que a chamada assíncrona seja iniciada. Quando a notificação é entregue à porta de conclusão, esse valor é preenchido no local apontado pelo parâmetro lpCompletionKey da função GetQueuedCompletionStatus .

IOC.lpOverlapped

Definido pelo cliente RPC antes que a chamada assíncrona seja iniciada. Quando a notificação é entregue à porta de conclusão, esse valor é preenchido no local apontado pelo parâmetro lpOverlapped da função GetQueuedCompletionStatus .

HWND

Campos usados para notificação por uma mensagem do Windows. Quando o tempo de execução do RPC posta a mensagem, wParam é zero e lParam aponta para o identificador assíncrono para a chamada (o RPC_ASYNC_STATE).

Windows Server 2003 ou posterior: A notificação por meio do HWND foi preterida. Não use este membro.

HWND.hWnd

Identifica a janela na qual a mensagem deve ser postada.

HWND.Msg

Mensagem a ser postada.

hEvent

Identificador usado para notificação por um evento.

Event

NotificationRoutine

Windows Vista ou versões anteriores do Windows: COM usa isso internamente para retornos de chamada diretos. Não use este membro.

Windows 7 ou versões posteriores do Windows: um ponteiro de função opcional para um esquema de notificação definido pelo usuário criado com base na conclusão da chamada RPC. Por exemplo, um aplicativo pode chamar SubmitThreadpoolWork do retorno de chamada de notificação.

Nota Não é recomendável fazer chamadas RPC adicionais, bloquear ou executar trabalhos de execução prolongada de retornos de chamada de notificação.
 

Comentários

Antes do Windows Vista e versões anteriores do Windows, a união de RPC_ASYNC_NOTIFICATION_INFO fazia parte da estrutura RPC_ASYNC_STATE . Consulte o tópico RPC_ASYNC_STATE para obter informações adicionais.

Requisitos

   
Cliente mínimo com suporte Windows XP com SP2 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 com SP1 [somente aplicativos da área de trabalho]
Cabeçalho rpcasync.h (inclua Rpc.h)

Confira também

RPC_ASYNC_STATE