attribut notify
L’attribut [notify] indique au compilateur MIDL de générer un appel à une procédure [notify] côté serveur de l’application.
[notify] procedure-name();
Paramètres
-
procedure-name
-
Nom de la procédure distante à laquelle la procédure de notification sera associée.
Notes
La procédure [notify] appelée à la suite de l’attribut [notify] est associée à une procédure distante particulière sur le serveur. Son concept est similaire à une fonction de rappel. Le stub appelle la procédure [notify] une fois que tous les arguments de sortie de la procédure distante à laquelle elle est associée ont été marshalés et que toute mémoire associée aux paramètres est libérée. La routine [notify] est appelée si un appel échoue avant l’exécution de la routine serveur. Par exemple, si un serveur échoue pendant le démarshalation en raison de la réception de données incorrectes du client, la routine [notifier] est appelée.
L’attribut [notify] est utile pour développer des applications qui acquièrent des ressources dans des procédures distantes. Ces ressources sont ensuite libérées dans la procédure [notify] une fois que les paramètres de sortie de la procédure distante sont entièrement marshalés.
Le nom de la procédure [notify] est le nom de la procédure distante avec le suffixe _notify. La procédure _notify ne nécessite aucun paramètre et ne retourne pas de résultat. Un prototype de cette procédure est également généré dans le fichier d’en-tête. Par exemple, si le fichier IDL contient les éléments suivants :
MyProcedure([in] short S);
Spécifiez les éléments suivants dans ACF pour MIDL afin de générer l’appel _notify :
[notify] MyProcedure();
Le compilateur MIDL génère le code stub du serveur qui contient l’appel suivant à la procédure _notify :
MyProcedure_notify();
Le fichier d’en-tête contient un prototype :
void MyProcedure_notify(void);
Exemples
[notify] MyProcedure();
Voir aussi