SERVICE_INFOA 结构 (nspapi.h)

SERVICE_INFO结构包含有关网络服务或网络服务类型的信息。

语法

typedef struct _SERVICE_INFOA {
  LPGUID              lpServiceType;
  LPSTR               lpServiceName;
  LPSTR               lpComment;
  LPSTR               lpLocale;
  DWORD               dwDisplayHint;
  DWORD               dwVersion;
  DWORD               dwTime;
  LPSTR               lpMachineName;
  LPSERVICE_ADDRESSES lpServiceAddress;
  BLOB                ServiceSpecificInfo;
} SERVICE_INFOA, *PSERVICE_INFOA, *LPSERVICE_INFOA;

成员

lpServiceType

类型: LPGUID

指向作为网络服务类型的 GUID 的指针。

lpServiceName

类型: LPTSTR

指向以 NULL 结尾的字符串的指针,该字符串是网络服务的名称。

如果要调用 SetService 函数,并将 dwNameSpace 参数设置为 NS_DEFAULT,则网络服务名称必须是公用名称。 公用名称是网络服务通常所说的名称。 网络服务的公用名称示例是“我的SQL Server”。

如果要调用 SetService 函数,并将 dwNameSpace 参数设置为特定服务名称,则网络服务名称可以是公用名或可分辨名称。 可分辨名称使用目录服务将服务区分为唯一位置。 网络服务的可分辨名称的一个示例是“MS\SYS\NT\DEV\My SQL Server”。

lpComment

类型: LPTSTR

指向 以 NULL 结尾的字符串的指针,该字符串是网络服务的注释或说明。 例如,“用于开发升级”。

lpLocale

类型: LPTSTR

指向包含区域设置信息的 以 NULL 结尾的字符串的指针。

dwDisplayHint

类型:DWORD

有关如何在网络浏览用户界面中显示网络服务的提示。 这可以是以下值之一。

含义
RESOURCEDISPLAYTYPE_DOMAIN
将网络服务显示为域。
RESOURCEDISPLAYTYPE_FILE
将网络服务显示为文件。
RESOURCEDISPLAYTYPE_GENERIC
用于显示对象的方法并不重要。
RESOURCEDISPLAYTYPE_GROUP
将网络服务显示为组。
RESOURCEDISPLAYTYPE_SERVER
将网络服务显示为服务器。
RESOURCEDISPLAYTYPE_SHARE
将网络服务显示为共享点。
RESOURCEDISPLAYTYPE_TREE
将网络服务显示为树。

dwVersion

类型:DWORD

网络服务的版本。 此值的高字指定主版本号。 此值的低字指定次要版本号。

dwTime

类型:DWORD

保留供将来使用。 必须为零。

lpMachineName

类型: LPTSTR

指向以 NULL 结尾的字符串的指针,该字符串是运行网络服务的计算机的名称。

lpServiceAddress

类型: LPSERVICE_ADDRESSES

指向 包含SERVICE_ADDRESS 结构的数组 的SERVICE_ADDRESSES 结构的指针。 每个 SERVICE_ADDRESS 结构都包含有关网络服务地址的信息。

网络服务可以调用 getsockname 函数来确定系统的本地地址。

ServiceSpecificInfo

类型: BLOB

指定服务定义信息的 BLOB 结构。

注意 通常, BLOB 结构的 pBlobData 成员指向的数据不得包含任何指针。 这是因为只有网络服务知道数据的格式;在没有此类知识的情况下复制数据将导致指针失效。 如果 pBlobData 指向的数据包含大小可变的元素,则可以使用 pBlobData 的偏移量来指示这些元素的位置。 此常规规则有一个例外:当 pBlobData 指向 SERVICE_TYPE_INFO_ABS 结构时。 这是可能的,因为 SERVICE_TYPE_INFO_ABS 结构和它包含的任何 SERVICE_TYPE_VALUE_ABS 结构都是预定义的,因此它们的格式对于操作系统是已知的。
 

注解

注意

nspapi.h 标头将 SERVICE_INFO 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
标头 nspapi.h

另请参阅

BLOB

GetService

NS_SERVICE_INFO

SERVICE_ADDRESS

SERVICE_ADDRESSES

SERVICE_TYPE_INFO_ABS

SERVICE_TYPE_VALUE_ABS

SetService