srv_sendmsg(扩展存储过程 API)
适用于:SQL Server
重要
在 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
指定消息的长度(以字节为单位)。 如果消息以 null 值结束,则将 msglen 设置为 SRV_NULLTERM。
返回
SUCCEED 或 FAIL
注解
此函数向客户端发送错误或信息性消息。 每一要发送的消息都调用一次该函数。
可以在使用 srv_sendrow 发送所有行(如果有)之前或之后,使用 srv_sendmsg 以任意顺序向客户端发送消息。 在使用 srv_senddone 发送完成状态之前,所有消息(如果有)都必须发送到客户端。
如果通过 Unicode 发送消息,请使用 srv_wsendmsg 而不是 srv_sendmsg。
有关详细信息,请参阅 Unicode 数据和服务器代码页。
重要
应全面检查扩展存储过程的源代码,并在生产服务器中安装编译的 DLL 之前,对这些 DLL 进行测试。 有关安全检查和测试的信息,请访问此 Microsoft 网站。