示例(RPC)
平台软件开发工具包(SDK)包括演示各种远程过程调用(RPC)概念的示例,如下所示:
ASYNCRPC 说明了使用异步远程过程调用的 RPC 应用程序的结构。 它还演示了调用完成通知的各种方法。
CLUUID 演示如何使用客户端对象 UUID 使客户端能够从远程过程的多个实现中进行选择。
DATA 目录包含四个程序:DUNION 说明了歧视的(非capsulated)联合:INOUT 演示 [in],[out] 参数;REPAS 演示 represent_as 属性;XMIT 演示 transmit_as 属性。
DYNEPT 演示了一个客户端应用程序,它通过动态终结点管理与服务器的连接。
FILEREP 目录包含四个示例,说明开发人员如何编写简单的文件复制服务、多用户文件复制服务、支持安全功能的服务以及使用 RPC 异步管道的服务。
HANDLES 目录包含三个程序:AUTO、CXHNDL、USRDEF,分别演示 auto_handle、[context_handle]和泛型(用户定义的)句柄。
HELLO 是“Hello, world”的客户端/服务器实现。
PICKLE 目录包含两个程序:PICKLP 演示数据过程序列化;PICKLT 演示数据类型序列化;这两个程序都使用 [encode] 和 [解码] 属性。
PIPES 演示如何使用管道类型构造函数。
RPCSVC 演示如何使用 RPC 实现服务。
STROUT 演示如何在服务器中为二维对象(指针数组)分配内存,并将其作为[out]-only 参数传回客户端。 然后,客户端释放内存。 此方法允许存根调用服务器,而无需事先知道将返回多少数据。
此程序还允许用户为 UNICODE 或 ANSI 编译。
这些程序的所有源文件和生成文件都位于平台 SDK 中。
有关基本的 RPC 应用程序开发和更简单的示例,请参阅 教程 主题。