RpcNsProfileEltAddA 函数 (rpcnsi.h)

RpcNsProfileEltAdd 函数将元素添加到配置文件。 如有必要,它会创建 条目。

注意 Windows Vista 及更高版本的操作系统不支持此功能。
 

语法

RPC_STATUS RpcNsProfileEltAddA(
  unsigned long ProfileNameSyntax,
  RPC_CSTR      ProfileName,
  RPC_IF_ID     *IfId,
  unsigned long MemberNameSyntax,
  RPC_CSTR      MemberName,
  unsigned long Priority,
  RPC_CSTR      Annotation
);

parameters

ProfileNameSyntax

ProfileName 的语法。

若要使用注册表项 HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc\NameService\DefaultSyntax中指定的语法,请提供值 RPC_C_NS_SYNTAX_DEFAULT。

ProfileName

指向要接收新元素的配置文件名称的指针。

IfId

指向新配置文件元素的接口标识的指针。 若要添加或替换默认配置文件元素,请指定 null 值。

MemberNameSyntax

MemberName 的语法。

若要使用注册表项 HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc\NameService\DefaultSyntax中指定的语法,请提供值 RPC_C_NS_SYNTAX_DEFAULT。

MemberName

指向要包含在新配置文件元素中的名称服务条目名称的指针。

Priority

整数值 (0 到 7) ,指示在导入和查找操作期间使用新配置文件元素的相对优先级。 值为 0 是最高优先级;值为 7 是最低优先级。 添加默认配置文件成员时,请使用值 0。

Annotation

指向作为新配置文件元素的一部分存储的批注字符串的指针。 如果没有批注字符串,请指定 null 值或以 null 结尾的字符串。

应用程序仅将字符串用于提供信息。 例如,应用程序可以使用此字符串来存储 IDL 文件中指定的接口名称字符串。 RPC 在查找或导入操作期间或枚举配置文件元素时不使用批注字符串。

返回值

含义
RPC_S_OK
调用成功。
RPC_S_INVALID_NAME_SYNTAX
名称语法无效。
RPC_S_UNSUPPORTED_NAME_SYNTAX
不支持名称语法。
RPC_S_INCOMPLETE_NAME
名称不完整。
RPC_S_NAME_SERVICE_UNAVAILABLE
名称服务不可用。
 
注意 有关有效错误代码的列表,请参阅 RPC 返回值
 

注解

RpcNsProfileEltAdd 函数将元素添加到 ProfileName 指定的 name-service 条目的 profile 属性中。 如果 ProfileName 条目不存在, RpcNsProfileEltAdd 会尝试使用配置文件属性创建条目,并添加由 IfIdMemberNamePriorityAnnotation 参数指定的 profile 元素。 在这种情况下,应用程序必须具有创建条目的权限。 否则,具有必要权限的管理应用程序应在运行应用程序之前通过调用 RpcNsMgmtEntryCreate 函数来创建条目。

如果具有指定成员名称和接口标识的元素已在配置文件中, RpcNsProfileEltAdd 使用 Priority 和 Annotation 参数中提供的值更新元素的优先级和 注释 字符串。

注意 Windows 2000 Active Directory 支持此函数。 早期版本的 Windows NT 仅支持将此函数与 Cell Directory 服务 (CDS) 配合使用。
 

注意

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

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 rpcnsi.h (包括 Rpc.h)
Library Rpcns4.lib
DLL Rpcns4.dll

请参阅

RpcIfInqId

RpcNsMgmtEntryCreate

RpcNsProfileEltRemove