客户端应用程序可以使用XTYP_REQUEST事务从服务器应用程序请求数据项。客户端调用DdeClientTransaction函数,将XTYP_REQUEST指定为事务类型,并指定应用程序需要的数据项。
DDEML将XTYP_REQUEST事务传递给服务器,指定客户端请求的主题名称,项目名称和数据格式。如果服务器支持请求的主题,项目和格式,则服务器应返回一个数据句柄,该数据句柄标识该项目的当前值。DDEML将此句柄作为DdeClientTransaction的返回值传递给客户端。如果服务器不支持所请求的主题,项目或格式,服务器应返回NULL。
DdeClientTransaction使用【lpdwResult】参数将事务状态标志返回给客户端。如果服务器不处理XTYP_REQUEST事务,DdeClientTransaction返回NULL,并且【lpdwResult】指向DDE_FNOTPROCESSED或DDE_FBUSY标志。如果返回了DDE_FNOTPROCESSED标志,则客户端无法确定服务器为什么不处理该事务。
如果服务器不支持XTYP_REQUEST事务,则应在DdeInitialize函数中指定CBF_FAIL_REQUESTS过滤器标志。该标志阻止DDEML将事务发送到服务器。