notifier l’attribut
L’attribut [ Notify ] demande au compilateur MIDL de générer un appel à une procédure [ Notify ] côté serveur de l’application.
[notify] procedure-name();
Paramètres
-
nom de la procédure
-
Nom de la procédure distante à laquelle la procédure Notify 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 ] après que tous les arguments de sortie de la procédure distante à laquelle il est associé ont été marshalés et que toute mémoire associée aux paramètres soit libérée. La routine [ Notify ] est appelée si un appel échoue avant l’exécution de la routine de serveur. Par exemple, si un serveur échoue pendant le démarshaling en raison de la réception de données incorrectes du client, la [ ] routine Notify est appelée.
L’attribut [ Notify ] est utile pour développer des applications acquérant des ressources dans des procédures distantes. Ces ressources sont ensuite libérées dans la procédure [ Notify ] après que les paramètres de sortie de la procédure distante ont été entièrement marshalés.
Le nom de la procédure [ Notify ] est le nom de la procédure distante suffixée par _ 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 ce qui suit dans le ACF pour MIDL pour générer l’appel de _ notification :
[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 contiendra un prototype :
void MyProcedure_notify(void);
Exemples
[notify] MyProcedure();