SERVER_TRANSPORT_INFO_3结构 (lmserver.h)

SERVER_TRANSPORT_INFO_3结构包含有关指定传输协议的信息,包括名称、地址和密码 (凭据) 。 此信息级别仅对 NetServerTransportAddEx 函数有效。

语法

typedef struct _SERVER_TRANSPORT_INFO_3 {
  DWORD  svti3_numberofvcs;
  LMSTR  svti3_transportname;
  LPBYTE svti3_transportaddress;
  DWORD  svti3_transportaddresslength;
  LMSTR  svti3_networkaddress;
  LMSTR  svti3_domain;
  ULONG  svti3_flags;
  DWORD  svti3_passwordlength;
  BYTE   svti3_password[256];
} SERVER_TRANSPORT_INFO_3, *PSERVER_TRANSPORT_INFO_3, *LPSERVER_TRANSPORT_INFO_3;

成员

svti3_numberofvcs

类型:DWORD

使用 svti3_transportname 成员指定的传输协议连接到服务器的客户端数。

svti3_transportname

类型: LMSTR

指向包含传输设备名称的以 NULL 结尾的字符串的指针;例如,

\Device\NetBT_Tcpip_{2C9725F4-151A-11D3-AEEC-C3B211BD350B}

如果定义了 _WIN32_WINNTFORCE_UNICODE ,则此字符串为 Unicode。

svti3_transportaddress

类型: LPBYTE

指向变量的指针,该变量包含服务器在 svti3_transportname 成员指定的传输设备上使用的地址。

此成员通常是服务器正在使用的 NetBIOS 名称。 在这些情况下,名称的长度必须为 16 个字符,最后一个字符必须是空白字符 (0x20) 。

svti3_transportaddresslength

类型:DWORD

svti3_transportaddress 成员的长度(以字节为单位)。 对于 NetBIOS 名称,此成员的值为 16 (十进制) 。

svti3_networkaddress

类型: LMSTR

指向以 NULL 结尾的字符串的指针,该字符串包含网络适配器正在使用的地址。 字符串特定于传输。

只能通过调用 NetServerTransportEnum 函数来检索此值。 不能通过调用 NetServerTransportAdd 函数或 NetServerTransportAddEx 函数来设置此值 )

如果定义了 _WIN32_WINNTFORCE_UNICODE ,则此字符串为 Unicode。

svti3_domain

类型: LMSTR

指向以 NULL 结尾的字符串的指针,该字符串包含服务器应向其声明其存在状态的域的名称。 (调用 NetServerTransportEnum 时,此成员是服务器要向其宣布其状态的域的名称。)

如果定义了 _WIN32_WINNTFORCE_UNICODE ,则此字符串为 Unicode。

svti3_flags

类型: ULONG

此成员可以是 Lmserver.h 头文件中定义的以下位值的组合。

含义
SVTI2_REMAP_PIPE_NAMES
如果为终结点设置了此值,则通过传输到达以打开命名管道的客户端请求将重新路由 () 重新映射到以下本地管道名称:

$$\ServerName\PipeName

有关此值的使用的详细信息,请参阅备注部分。

SVTI2_SCOPED_NAME
如果为终结点设置了此值,并且尝试创建具有相同网络地址但传输名称不同的第二个传输,并且 SCOPED 标志的设置存在冲突,则此传输创建将失败。 因此,给定网络地址的每个已注册传输都必须具有相同的作用域设置。

有关此值的使用的详细信息,请参阅备注部分。

此值在 Windows Server 2008 和 Windows Vista SP1 上定义。

svti3_passwordlength

类型:DWORD

svti3_password 成员中的有效字节数。

svti3_password[256]

类型: BYTE[256]

用于新传输地址的凭据。 如果 svti3_passwordlength 成员为零,则使用服务器的凭据。

注解

netServerTransportAddEx 函数使用 SERVER_TRANSPORT_INFO_3 结构将指定的服务器绑定到传输协议。

下面是使用 SVTI2_REMAP_PIPE_NAMES 值的示例。 调用 NetServerTransportAddEx 函数将传输添加到服务器,在 svti3_transportaddress 成员中指定“MyServer”的地址,并在 svti3_flags 成员中 SVTI2_REMAP_PIPE_NAMES 。 当客户端尝试在“\MyServer”上打开“Pipe”时,客户端实际上会改为打开 $$MyServer\Pipe。

客户端和服务器执行相互身份验证需要 svti3_passwordlengthsvti3_password 成员。

在 Windows Server 2008 和 SP1 的 Windows Vista 中,向 Windows 远程文件服务器注册的每个名称 (SRV) 都指定为作用域名称或非作用域名称。 然后,添加到系统的每个共享将附加到所有非作用域名称,或附加到单个作用域名称。 希望使用范围功能的应用程序负责将新名称注册为限定范围的终结点,然后创建具有适当范围的共享。 这样,网络管理和网络共享管理功能的旧版使用不会受到任何影响,因为它们继续将共享和名称注册为非作用域名称。

通过调用 NetServerTransportAddEx 函数(级别参数设置为 2),bufptr 参数指向在 svti2_flags成员中设置SVTI2_SCOPED_NAME位值的SERVER_TRANSPORT_INFO_2结构来创建作用域终结点。 还可以通过调用 NetServerTransportAddEx 函数(级别参数设置为 3)和 bufptr 参数指向SERVER_TRANSPORT_INFO_3结构(在 svti3_flags成员中设置SVTI2_SCOPED_NAME位值)来创建作用域终结点。

为传输设置SVTI2_SCOPED_NAME位值时,可以使用 NetShareAdd 函数 (SHARE_INFO_503结构的shi503_servername成员) 相应的服务器名称添加共享。 如果没有使用 SVTI2_SCOPED_NAME 位值和 shi503_servername 成员中提供的名称注册传输,则以限定范围的方式添加共享将不会成功。

NetShareAdd 函数用于在 servername 参数中指定的远程服务器上添加作用域共享。 在 bufptr 参数中传递的 SHARE_INFO_503shi503_servername 成员中指定的远程服务器必须已绑定到使用 NetServerTransportAddEx 函数作为作用域终结点的传输协议。 必须在传输协议的SERVER_TRANSPORT_INFO_2或SERVER_TRANSPORT_INFO_3结构的shi503_servername成员中指定SVTI2_SCOPED_NAME标志。 NetShareDelEx 函数用于删除限定范围的共享。 NetShareGetInfoNetShareSetInfo 函数用于获取和设置有关作用域共享的信息。

作用域终结点通常由群集命名空间使用。

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
标头 lmserver.h (包括 Lm.h)

另请参阅

NetServerTransportAdd

NetServerTransportAddEx

NetServerTransportDel

NetServerTransportEnum

NetShareAdd

NetShareDelEx

NetShareGetInfo

NetShareSetInfo

网络管理概述

网络管理结构

SERVER_TRANSPORT_INFO_0

SERVER_TRANSPORT_INFO_1

SERVER_TRANSPORT_INFO_2

SHARE_INFO_503

服务器和工作站传输函数