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


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

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

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

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

Примечание

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

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header rpcnsi.h (включая Rpc.h)
Библиотека Rpcns4.lib
DLL Rpcns4.dll

См. также раздел

RpcIfInqId

RpcNsMgmtEntryCreate

RpcNsProfileEltRemove