srv_pfield(扩展存储过程 API)

适用于:SQL Server

重要

在 SQL Server的未来版本中将删除此功能。 请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。 请改用 CLR 集成。

返回有关数据库连接的信息。

语法

  
DBCHAR * srv_pfield (  
SRV_PROC *  
srvproc  
,  
int   
field  
,  
int *  
len  
);  

参数

srvproc
标识数据库连接的指针。

field
指定连接将返回的数据。

返回
SRV_APPLNAME 客户端建立连接时提供的应用程序名称。
SRV_BCPFLAG 一个标志,如果客户端正在准备执行大容量复制操作,则为 TRUE;否则为 FALSE。
SRV_CLIB 使客户端能够与服务器通信的库的名称。
SRV_CPID 客户端源计算机上的客户端进程 ID。
SRV_HOST 客户端建立连接时提供的客户端计算机的名称。
SRV_LIBVERS 客户端库的版本。
SRV_LSECURE 一个标志。 如果连接使用集成安全性进行登录,则为 TRUE。
SRV_NETWORK_MODULE 连接使用的网络库 DLL 的名称。
SRV_NETWORK_VERSION 连接使用的网络库 DLL 的版本。
SRV_NETWORK_CONNECTION 传递到用于当前 srvproc 连接的网络库 DLL 的连接字符串
SRV_PIPEHANDLE 包含某个已连接客户端的管道句柄的字符串,或者,如果客户端连接到不使用命名管道的网络,则为 NULL。 若要将此句柄用作Microsoft Windows 的有效管道句柄,请将此字符串转换为整数。
SRV_RMTSERVER 客户端进程从中登录的服务器。 如果从客户端进行登录,则此值为空字符串。
SRV_ROWSENT srvproc 已经为当前结果集发送的行数
SRV_SPID srvproc 的服务器线程 ID。 对于扩展存储过程,此值与 sys.sysprocesses的 kpid 列相同,并且它可能随时间的推移而发生变化
SRV_SPROC_CODEPAGE 服务器用于解释多字节数据的代码页。
SRV_STATUS srvproc 的当前状态:正在运行或已关闭
SRV_TYPE srvproc 的连接类型。 如果返回服务器, srvproc 来自 SQL Server 实例。 如果返回客户端,srvproc 则来自 DB-Library 或 ODBC 客户端
SRV_USER 连接的用户名。

len
指向一个 int 变量的指针,该变量包含所返回的 field 值的长度。 如果 len 为 NULL,则不返回字符串的长度

返回

指向一个以 null 值结束的字符串的指针,该字符串包含 SRV_PROC 结构中指定字段的当前值。 如果此字段为空,则返回指向空字符串的有效指针,并且 len 包含 0。 如果此字段为未知,则返回 NULL 并且 len 包含值 -1

重要

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