Поделиться через


Функция 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
);

Параметры

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

Указатель на имя службы -записи name, включаемой в новый элемент профиля.

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. Если запись profileName не существует, RpcNsProfileEltAdd пытается создать запись с атрибутом профиля и добавляет элемент профиля, указанный IfId, MemberName, Priorityи параметры заметки. В этом случае приложение должно иметь права на создание записи. В противном случае приложение управления с необходимыми привилегиями должно создать запись, вызвав функцию RpcNsMgmtEntryCreate перед запуском приложения.

Если элемент с указанным именем члена и идентификацией интерфейса уже находится в профиле, RpcNsProfileEltAdd обновляет приоритет элемента и строку заметки с помощью значений, указанных в параметрах Priority и Annotation.

примечание Active Directory windows 2000 поддерживает эту функцию. Более ранние версии Windows NT поддерживают использование этой функции только со службой каталогов ячеек (CDS).
 

Заметка

Заголовок rpcnsi.h определяет RpcNsProfileEltAdd как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Виндоус
заголовка rpcnsi.h (include Rpc.h)
библиотеки Rpcns4.lib
DLL Rpcns4.dll

См. также

RpcIfInqId

RpcNsMgmtEntryCreate

RpcNsProfileEltRemove