notify 属性

[notify] 属性指示 MIDL 编译器在应用程序的服务器端生成对 [notify] 过程的调用。

[notify] procedure-name();

parameters

procedure-name

通知过程将与之关联的远程过程的名称。

备注

由于 [notify] 属性调用的 [notify] 过程与服务器上的特定远程过程相关联。 它在概念上类似于回调函数。 存根调用 [notify] 过程后,已封送与它关联的远程过程的所有输出参数,并释放与参数关联的任何内存。 如果在服务器例程执行之前调用失败,则调用 [notify] 例程。 例如,如果服务器在取消封送期间由于从客户端收到错误数据而失败,则会调用 [notify] 例程。

[notify] 属性可用于开发在远程过程中获取资源的应用程序。 然后,在远程过程的输出参数完全封送后 ,在 [notify] 过程中释放这些资源。

[notify] 过程名称是_notify后缀的远程过程的名称。 _notify过程不需要任何参数,也不会返回结果。 此过程的原型也会在头文件中生成。 例如,如果 IDL 文件包含以下项:

MyProcedure([in] short S);

在 ACF for MIDL 中指定以下内容以生成 _notify 调用:

[notify] MyProcedure();

MIDL 编译器将生成服务器存根代码,其中包含对 _notify 过程的以下调用:

MyProcedure_notify();

头文件将包含一个原型:

void MyProcedure_notify(void);

示例

[notify] MyProcedure();

另请参阅

应用程序配置文件 (ACF)