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 指针。

注解

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

使用 LDAP_MOD_REPLACE 操作 的 ldap_modify * 在传递 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

另请参阅

数据结构

修改目录条目

berval

ldap_add

ldap_modify

ldap_modify_s