Структура LDAPModA (winldap.h)
Структура LDAPMod содержит данные, необходимые для выполнения операции изменения.
Синтаксис
typedef struct ldapmodA {
ULONG mod_op;
PCHAR mod_type;
union {
PCHAR *modv_strvals;
berval **modv_bvals;
} mod_vals;
} LDAPModA, *PLDAPModA;
Члены
mod_op
Указывает одно из следующих значений, чтобы указать операцию изменения для выполнения.
С помощью побитового оператора OR можно объединить значение операции с LDAP_MOD_BVALUES, чтобы указать, что объединение mod_vals использует элемент modv_bvals. Если LDAP_MOD_BVALUES не задано, объединение использует элемент modv_strvals.
LDAP_MOD_ADD (0x00)
Добавляет значение в запись. Указанные значения добавляются к существующим значениям в атрибуте.
LDAP_MOD_DELETE (0x01)
Удаляет значение в записи. Указанные значения удаляются из текущих значений атрибутов.
LDAP_MOD_REPLACE (0x02)
Заменяет значение в записи. Указанные значения заменяют существующие значения атрибутов.
mod_type
Указатель на строку, завершающую значение NULL, которая указывает имя атрибута для изменения.
mod_vals
Указатель на массив значений, если таковые есть, для добавления, удаления или замены. Если mop_op не включает флаг LDAP_MOD_BVALUES, элемент modv_strvals является указателем на массив строк, завершающих значение NULL. Если mop_op включает LDAP_MOD_BVALUES, элемент modv_bvals является указателем на массив указателей berval, что полезно для указания двоичных значений.
mod_vals.modv_strvals
Указатель на массив строк, завершаемых значением NULL. Последний элемент массива должен быть указателем NULL.
mod_vals.modv_bvals
Указатель на массив NULL-завершенный массив указателей berval. Последний элемент массива должен быть указателем NULL.
Замечания
Назначьте значения полям структуры LDAPMod перед вызовом функции изменения (ldap_add*или ldap_modify*).
ldap_modify* с операцией LDAP_MOD_REPLACE не удаляет атрибут при передаче указателя NULL. Однако LDAP_MOD_DELETE удаляет весь атрибут, если mod_vals задано значение NULL.
При передаче структуры LDAPMod в функции ldap_add** флаг LDAP_MOD_BVALUES имеет важное значение. Создание нового объекта подразумевает добавление значений в него.
Заметка
Заголовок winldap.h определяет LDAPMod как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows Vista |
минимальный поддерживаемый сервер | Windows Server 2008 |
заголовка | winldap.h |