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 成员是指向 指针数组的指针,这对于指定二进制值非常有用。

mod_vals.modv_strvals

指向以 null 结尾的字符串的 null 终止数组的指针。 数组的最后一个元素必须是 NULL 指针。

mod_vals.modv_bvals

指向 NULL终止的 指针的指针的指针。 数组的最后一个元素必须是 NULL 指针。

言论

在调用修改函数(ldap_add*ldap_modify*)之前,将值分配给 LDAPMod 结构的字段。

ldap_modify*LDAP_MOD_REPLACE 操作在传递 null 指针时不会删除属性。 但是,当 mod_vals设置为 NULL时,LDAP_MOD_DELETE 将删除整个属性。

LDAPMod 结构传递到 ldap_add* 函数时,只有 LDAP_MOD_BVALUES 标志非常重要。 创建新对象意味着向其添加值。

注意

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

要求

要求 价值
最低支持的客户端 Windows Vista
支持的最低服务器 Windows Server 2008
标头 winldap.h

另请参阅

数据结构

修改目录项

伯瓦尔

ldap_add

ldap_modify

ldap_modify_s