Partager via


union RPC_ASYNC_NOTIFICATION_INFO (rpcasync.h)

L’union RPC_ASYNC_NOTIFICATION_INFO contient des informations de notification pour les appels de procédure distante asynchrone. Ces informations de notification peuvent être configurées pour les ports d’achèvement d’E/S (IOC), les appels de procédure asynchrone Windows (APC), la messagerie Windows et la notification d’événements Windows.

Syntaxe

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;

Membres

APC

Structure utilisée pour les notifications d’appel de procédure asynchrone (APC) Windows.

APC.NotificationRoutine

Appelle la routine de notification APC définie par l’utilisateur.

APC.hThread

Gérez le thread sur lequel la notification APC doit être publiée. La valeur zéro indique le thread actuel.

IOC

Structure utilisée pour la notification sur un port d’achèvement d’E/S.

IOC.hIOPort

Gérez le port d’achèvement des E/S.

IOC.dwNumberOfBytesTransferred

Défini par le client RPC avant le démarrage de l’appel asynchrone. Lorsque la notification est remise au port d’achèvement, cette valeur est renseignée à l’emplacement vers lequel pointe le paramètre lpNumberOfBytesTransferred de la fonction GetQueuedCompletionStatus .

IOC.dwCompletionKey

Défini par le client RPC avant le démarrage de l’appel asynchrone. Lorsque la notification est remise au port d’achèvement, cette valeur est renseignée à l’emplacement vers lequel pointe le paramètre lpCompletionKey de la fonction GetQueuedCompletionStatus .

IOC.lpOverlapped

Défini par le client RPC avant le démarrage de l’appel asynchrone. Lorsque la notification est remise au port d’achèvement, cette valeur est renseignée à l’emplacement vers lequel pointe le paramètre lpOverlapped de la fonction GetQueuedCompletionStatus .

HWND

Champs utilisés pour la notification par un message Windows. Lorsque l’exécution RPC publie le message, wParam est égal à zéro et lParam pointe vers le handle asynchrone de l’appel ( le RPC_ASYNC_STATE).

Windows Server 2003 ou version ultérieure : La notification via le HWND est déconseillée. N’utilisez pas ce membre.

HWND.hWnd

Identifie la fenêtre dans laquelle le message doit être publié.

HWND.Msg

Message à publier.

hEvent

Handle utilisé pour la notification par un événement.

Event

NotificationRoutine

Windows Vista ou versions antérieures de Windows : COM l’utilise en interne pour les rappels directs. N’utilisez pas ce membre.

Windows 7 ou versions ultérieures de Windows : pointeur de fonction facultatif vers un schéma de notification défini par l’utilisateur basé sur l’achèvement des appels RPC. Par exemple, une application peut appeler SubmitThreadpoolWork à partir du rappel de notification.

Note Il est fortement déconseillé d’effectuer des appels RPC supplémentaires, de bloquer ou d’effectuer un travail de longue durée à partir des rappels de notification.
 

Notes

Avant Windows Vista et les versions antérieures de Windows, l’union RPC_ASYNC_NOTIFICATION_INFO faisait partie de la structure RPC_ASYNC_STATE . Pour plus d’informations, consultez la rubrique RPC_ASYNC_STATE .

Spécifications

   
Client minimal pris en charge Windows XP avec SP2 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 avec SP1 [applications de bureau uniquement]
En-tête rpcasync.h (inclure Rpc.h)

Voir aussi

RPC_ASYNC_STATE