srv_sendmsg(扩展存储过程 API)

重要说明重要提示

后续版本的 Microsoft SQL Server 将删除该功能。 请不要在新的开发工作中使用该功能,并尽快修改当前还在使用该功能的应用程序。请改用 CLR 集成。

向客户端发送消息。

语法


int srv_sendmsg (
SRV_PROC *
srvproc
,
int
msgtype
,
DBINT
msgnum
,
DBTINYINT
class
, 
DBTINYINT
state
,
DBCHAR *
rpcname
,
int 
rpcnamelen
,
DBUSMALLINT
linenum
,
DBCHAR *
message
,
int
msglen 
);

参数

  • srvproc
    指向作为特定客户端连接句柄(在这里为接收语言请求的句柄)的 SRV_PROC 结构的指针。该结构包含扩展存储过程 API 库用于管理应用程序和客户端之间的通信和数据的信息。

  • msgtype
    SRV_MSG_INFO 或 SRV_MSG_ERROR,具体取决于服务器发送的是信息性消息还是错误消息。

  • msgnum
    4 字节消息编号。

  • class
    指定错误严重性。严重性小于或等于 10 将被视为信息性消息。

  • state
    提供当前消息的错误状态编号。错误状态编号提供有关错误上下文的信息。有效的状态编号介于 0 到 255 之间。

  • rpcname
    当前不支持。

  • rpcnamelen
    当前不支持。

  • linenum
    消息应用到的语言命令批处理中的行号。行号从 1 开始。如果 linenum 不适用于消息,则设置为 0。

  • message
    指向要发送到客户端的字符串的指针。

  • msglen
    指定 message 的长度(以字节为单位)。如果 message 以 null 值结束,则将 msglen 设置为 SRV_NULLTERM。

返回值

SUCCEED 或 FAIL

注释

此函数向客户端发送错误或信息性消息。每一要发送的消息都调用一次该函数。

可以在使用 srv_sendrow 发送所有行(如果有)之前或之后,使用 srv_sendmsg 以任意顺序向客户端发送消息。在使用 srv_senddone 发送完成状态之前,所有消息(如果有)都必须发送到客户端。

如果通过 Unicode 发送消息,请使用 srv_wsendmsg 而不是 srv_sendmsg

有关详细信息,请参阅 Unicode 数据和服务器代码页

安全说明安全说明

应全面检查扩展存储过程的源代码,并在生产服务器中安装编译的 DLL 之前,对这些 DLL 进行测试。有关安全检查和测试的信息,请访问此 Microsoft 网站