Freigeben über


notify-Attribut

Das Attribut [notify] weist den MIDL-Compiler an, einen Aufruf einer [notify] -Prozedur auf der Serverseite der Anwendung zu generieren.

[notify] procedure-name();

Parameter

Prozedurname

Der Name der Remoteprozedur, der die Benachrichtigungsprozedur zugeordnet wird.

Bemerkungen

Die [notify] -Prozedur, die als Ergebnis des [notify] -Attributs aufgerufen wird, ist einer bestimmten Remoteprozedur auf dem Server zugeordnet. Das Konzept ähnelt einer Rückruffunktion. Der Stub ruft die [notify] -Prozedur auf, nachdem alle Ausgabeargumente der Remoteprozedur, der sie zugeordnet ist, gemarshallt wurden und der den Parametern zugeordnete Arbeitsspeicher freigegeben wurde. Die [notify] -Routine wird aufgerufen, wenn ein Aufruf fehlschlägt, bevor die Serverroutine ausgeführt wird. Wenn beispielsweise ein Server während der Aufhebung derMarshaling aufgrund des Empfangs fehlerhafter Daten vom Client fehlschlägt, wird die [notify]-Routine aufgerufen.

Das [notify] -Attribut ist nützlich, um Anwendungen zu entwickeln, die Ressourcen in Remoteprozeduren abrufen. Diese Ressourcen werden dann in der [notify] -Prozedur freigegeben, nachdem die Ausgabeparameter der Remoteprozedur vollständig gemarshallt wurden.

Der Name der [notify] -Prozedur ist der Name der Remoteprozedur mit dem Suffix _notify. Die _notify Prozedur erfordert keine Parameter und gibt kein Ergebnis zurück. Ein Prototyp dieser Prozedur wird auch in der Headerdatei generiert. Beispiel: Die IDL-Datei enthält Folgendes:

MyProcedure([in] short S);

Geben Sie im ACF für MIDL Folgendes an, um den _notify Aufruf zu generieren:

[notify] MyProcedure();

Der MIDL-Compiler generiert Serverstubcode, der den folgenden Aufruf der _notify-Prozedur enthält:

MyProcedure_notify();

Die Headerdatei enthält einen Prototyp:

void MyProcedure_notify(void);

Beispiele

[notify] MyProcedure();

Weitere Informationen

Anwendungskonfigurationsdatei (Application Configuration File, ACF)