📄 winldap.h
字号:
//
WINLDAPAPI ULONG LDAPAPI ldap_modrdn2W (
LDAP *ExternalHandle,
const PWCHAR DistinguishedName,
const PWCHAR NewDistinguishedName,
INT DeleteOldRdn
);
WINLDAPAPI ULONG LDAPAPI ldap_modrdn2A (
LDAP *ExternalHandle,
const PCHAR DistinguishedName,
const PCHAR NewDistinguishedName,
INT DeleteOldRdn
);
//
// ldap_modrdn simply calls ldap_modrdn2 with a value of 1 for DeleteOldRdn.
//
WINLDAPAPI ULONG LDAPAPI ldap_modrdnW (
LDAP *ExternalHandle,
const PWCHAR DistinguishedName,
const PWCHAR NewDistinguishedName
);
WINLDAPAPI ULONG LDAPAPI ldap_modrdnA (
LDAP *ExternalHandle,
const PCHAR DistinguishedName,
const PCHAR NewDistinguishedName
);
WINLDAPAPI ULONG LDAPAPI ldap_modrdn2_sW (
LDAP *ExternalHandle,
const PWCHAR DistinguishedName,
const PWCHAR NewDistinguishedName,
INT DeleteOldRdn
);
WINLDAPAPI ULONG LDAPAPI ldap_modrdn2_sA (
LDAP *ExternalHandle,
const PCHAR DistinguishedName,
const PCHAR NewDistinguishedName,
INT DeleteOldRdn
);
WINLDAPAPI ULONG LDAPAPI ldap_modrdn_sW (
LDAP *ExternalHandle,
const PWCHAR DistinguishedName,
const PWCHAR NewDistinguishedName
);
WINLDAPAPI ULONG LDAPAPI ldap_modrdn_sA (
LDAP *ExternalHandle,
const PCHAR DistinguishedName,
const PCHAR NewDistinguishedName
);
#if LDAP_UNICODE
#define ldap_modrdn2 ldap_modrdn2W
#define ldap_modrdn ldap_modrdnW
#define ldap_modrdn2_s ldap_modrdn2_sW
#define ldap_modrdn_s ldap_modrdn_sW
#else
WINLDAPAPI ULONG LDAPAPI ldap_modrdn2 (
LDAP *ExternalHandle,
const PCHAR DistinguishedName,
const PCHAR NewDistinguishedName,
INT DeleteOldRdn
);
WINLDAPAPI ULONG LDAPAPI ldap_modrdn (
LDAP *ExternalHandle,
const PCHAR DistinguishedName,
const PCHAR NewDistinguishedName
);
WINLDAPAPI ULONG LDAPAPI ldap_modrdn2_s (
LDAP *ExternalHandle,
const PCHAR DistinguishedName,
const PCHAR NewDistinguishedName,
INT DeleteOldRdn
);
WINLDAPAPI ULONG LDAPAPI ldap_modrdn_s (
LDAP *ExternalHandle,
const PCHAR DistinguishedName,
const PCHAR NewDistinguishedName
);
#endif
//
// Extended Rename operations. These take controls and separate out the
// parent from the RDN, for clarity.
//
WINLDAPAPI ULONG LDAPAPI ldap_rename_extW(
LDAP *ld,
const PWCHAR dn,
const PWCHAR NewRDN,
const PWCHAR NewParent,
INT DeleteOldRdn,
PLDAPControlW *ServerControls,
PLDAPControlW *ClientControls,
ULONG *MessageNumber
);
WINLDAPAPI ULONG LDAPAPI ldap_rename_extA(
LDAP *ld,
const PCHAR dn,
const PCHAR NewRDN,
const PCHAR NewParent,
INT DeleteOldRdn,
PLDAPControlA *ServerControls,
PLDAPControlA *ClientControls,
ULONG *MessageNumber
);
WINLDAPAPI ULONG LDAPAPI ldap_rename_ext_sW(
LDAP *ld,
const PWCHAR dn,
const PWCHAR NewRDN,
const PWCHAR NewParent,
INT DeleteOldRdn,
PLDAPControlW *ServerControls,
PLDAPControlW *ClientControls
);
WINLDAPAPI ULONG LDAPAPI ldap_rename_ext_sA(
LDAP *ld,
const PCHAR dn,
const PCHAR NewRDN,
const PCHAR NewParent,
INT DeleteOldRdn,
PLDAPControlA *ServerControls,
PLDAPControlA *ClientControls
);
#if LDAP_UNICODE
#define ldap_rename ldap_rename_extW
#define ldap_rename_s ldap_rename_ext_sW
#else
#define ldap_rename ldap_rename_extA
#define ldap_rename_s ldap_rename_ext_sA
#endif
#if LDAP_UNICODE
#define ldap_rename_ext ldap_rename_extW
#define ldap_rename_ext_s ldap_rename_ext_sW
#else
WINLDAPAPI ULONG LDAPAPI ldap_rename_ext(
LDAP *ld,
const PCHAR dn,
const PCHAR NewRDN,
const PCHAR NewParent,
INT DeleteOldRdn,
PLDAPControlA *ServerControls,
PLDAPControlA *ClientControls,
ULONG *MessageNumber
);
WINLDAPAPI ULONG LDAPAPI ldap_rename_ext_s(
LDAP *ld,
const PCHAR dn,
const PCHAR NewRDN,
const PCHAR NewParent,
INT DeleteOldRdn,
PLDAPControlA *ServerControls,
PLDAPControlA *ClientControls
);
#endif
//
// Add an entry to the tree
//
//
// multi-thread: ldap_add calls are not safe in that the message number
// is returned rather than the return code. You have to look
// at the connection block in an error case and the return code
// may be overwritten by another thread inbetween.
//
// Use ldap_add_ext instead, as these are thread safe.
//
// ldap_add_s and ldap_add_ext* calls are thread safe.
//
WINLDAPAPI ULONG LDAPAPI ldap_addW( LDAP *ld, PWCHAR dn, LDAPModW *attrs[] );
WINLDAPAPI ULONG LDAPAPI ldap_addA( LDAP *ld, PCHAR dn, LDAPModA *attrs[] );
WINLDAPAPI ULONG LDAPAPI ldap_add_sW( LDAP *ld, PWCHAR dn, LDAPModW *attrs[] );
WINLDAPAPI ULONG LDAPAPI ldap_add_sA( LDAP *ld, PCHAR dn, LDAPModA *attrs[] );
WINLDAPAPI ULONG LDAPAPI ldap_add_extW(
LDAP *ld,
const PWCHAR dn,
LDAPModW *attrs[],
PLDAPControlW *ServerControls,
PLDAPControlW *ClientControls,
ULONG *MessageNumber
);
WINLDAPAPI ULONG LDAPAPI ldap_add_extA(
LDAP *ld,
const PCHAR dn,
LDAPModA *attrs[],
PLDAPControlA *ServerControls,
PLDAPControlA *ClientControls,
ULONG *MessageNumber
);
WINLDAPAPI ULONG LDAPAPI ldap_add_ext_sW(
LDAP *ld,
const PWCHAR dn,
LDAPModW *attrs[],
PLDAPControlW *ServerControls,
PLDAPControlW *ClientControls
);
WINLDAPAPI ULONG LDAPAPI ldap_add_ext_sA(
LDAP *ld,
const PCHAR dn,
LDAPModA *attrs[],
PLDAPControlA *ServerControls,
PLDAPControlA *ClientControls
);
#if LDAP_UNICODE
#define ldap_add ldap_addW
#define ldap_add_s ldap_add_sW
#define ldap_add_ext ldap_add_extW
#define ldap_add_ext_s ldap_add_ext_sW
#else
WINLDAPAPI ULONG LDAPAPI ldap_add( LDAP *ld, PCHAR dn, LDAPMod *attrs[] );
WINLDAPAPI ULONG LDAPAPI ldap_add_s( LDAP *ld, PCHAR dn, LDAPMod *attrs[] );
WINLDAPAPI ULONG LDAPAPI ldap_add_ext(
LDAP *ld,
const PCHAR dn,
LDAPModA *attrs[],
PLDAPControlA *ServerControls,
PLDAPControlA *ClientControls,
ULONG *MessageNumber
);
WINLDAPAPI ULONG LDAPAPI ldap_add_ext_s(
LDAP *ld,
const PCHAR dn,
LDAPModA *attrs[],
PLDAPControlA *ServerControls,
PLDAPControlA *ClientControls
);
#endif
//
// Compare the attribute for a given entry to a known value.
//
//
// multi-thread: ldap_compare calls are not safe in that the message number
// is returned rather than the return code. You have to look
// at the connection block in an error case and the return code
// may be overwritten by another thread inbetween.
//
// Use ldap_compare_ext instead, as these are thread safe.
//
// ldap_compare_s and ldap_compare_ext* calls are thread safe.
//
WINLDAPAPI ULONG LDAPAPI ldap_compareW( LDAP *ld, const PWCHAR dn, const PWCHAR attr, PWCHAR value );
WINLDAPAPI ULONG LDAPAPI ldap_compareA( LDAP *ld, const PCHAR dn, const PCHAR attr, PCHAR value );
WINLDAPAPI ULONG LDAPAPI ldap_compare_sW( LDAP *ld, const PWCHAR dn, const PWCHAR attr, PWCHAR value );
WINLDAPAPI ULONG LDAPAPI ldap_compare_sA( LDAP *ld, const PCHAR dn, const PCHAR attr, PCHAR value );
#if LDAP_UNICODE
#define ldap_compare ldap_compareW
#define ldap_compare_s ldap_compare_sW
#else
WINLDAPAPI ULONG LDAPAPI ldap_compare( LDAP *ld, const PCHAR dn, const PCHAR attr, PCHAR value );
WINLDAPAPI ULONG LDAPAPI ldap_compare_s( LDAP *ld, const PCHAR dn, const PCHAR attr, PCHAR value );
#endif
//
// Extended Compare operations. These take controls and are thread safe.
// They also allow you to specify a bval structure for the data, so that it
// isn't translated from Unicode or ANSI to UTF8. Allows for comparison of
// raw binary data.
//
// Specify either Data or Value as not NULL. If both are not NULL, the
// berval Data will be used.
//
WINLDAPAPI ULONG LDAPAPI ldap_compare_extW(
LDAP *ld,
const PWCHAR dn,
const PWCHAR Attr,
const PWCHAR Value, // either value or Data is not null, not both
struct berval *Data,
PLDAPControlW *ServerControls,
PLDAPControlW *ClientControls,
ULONG *MessageNumber
);
WINLDAPAPI ULONG LDAPAPI ldap_compare_extA(
LDAP *ld,
const PCHAR dn,
const PCHAR Attr,
const PCHAR Value, // either value or Data is not null, not both
struct berval *Data,
PLDAPControlA *ServerControls,
PLDAPControlA *ClientControls,
ULONG *MessageNumber
);
WINLDAPAPI ULONG LDAPAPI ldap_compare_ext_sW(
LDAP *ld,
const PWCHAR dn,
const PWCHAR Attr,
const PWCHAR Value, // either value or Data is not null, not both
struct berval *Data,
PLDAPControlW *ServerControls,
PLDAPControlW *ClientControls
);
WINLDAPAPI ULONG LDAPAPI ldap_compare_ext_sA(
LDAP *ld,
const PCHAR dn,
const PCHAR Attr,
const PCHAR Value, // either value or Data is not null, not both
struct berval *Data,
PLDAPControlA *ServerControls,
PLDAPControlA *ClientControls
);
#if LDAP_UNICODE
#define ldap_compare_ext ldap_compare_extW
#define ldap_compare_ext_s ldap_compare_ext_sW
#else
WINLDAPAPI ULONG LDAPAPI ldap_compare_ext(
LDAP *ld,
const PCHAR dn,
const PCHAR Attr,
const PCHAR Value, // either value or Data is not null, not both
struct berval *Data,
PLDAPControlA *ServerControls,
PLDAPControlA *ClientControls,
ULONG *MessageNumber
);
WINLDAPAPI ULONG LDAPAPI ldap_compare_ext_s(
LDAP *ld,
const PCHAR dn,
const PCHAR Attr,
const PCHAR Value, // either value or Data is not null, not both
struct berval *Data,
PLDAPControlA *ServerControls,
PLDAPControlA *ClientControls
);
#endif
//
// Delete an object out of the tree
//
//
// multi-thread: ldap_delete calls are not safe in that the message number
// is returned rather than the return code. You have to look
// at the connection block in an error case and the return code
// may be overwritten by another thread inbetween.
//
// Use ldap_delete_ext instead, as these are thread safe.
//
// ldap_delete_s and ldap_delete_ext* calls are thread safe.
//
WINLDAPAPI ULONG LDAPAPI ldap_deleteW( LDAP *ld, const PWCHAR dn );
WINLDAPAPI ULONG LDAPAPI ldap_deleteA( LDAP *ld, const PCHAR dn );
WINLDAPAPI ULONG LDAPAPI ldap_delete_sW( LDAP *ld, const PWCHAR dn );
WINLDAPAPI ULONG LDAPAPI ldap_delete_sA( LDAP *ld, const PCHAR dn );
WINLDAPAPI ULONG LDAPAPI ldap_delete_extW(
LDAP *ld,
const PWCHAR dn,
PLDAPControlW *ServerControls,
PLDAPControlW *ClientControls,
ULONG *MessageNumber
);
WINLDAPAPI ULONG LDAPAPI ldap_delete_extA(
LDAP *ld,
const PCHAR dn,
PLDAPControlA *ServerControls,
PLDAPControlA *ClientControls,
ULONG *MessageNumber
);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -