Skip to content

REG PERSON INFO

Data Type : User Registration
REG_PERSON_INFO - Structure that defines person registration information.

#include <reg.h>

Definition :

typedef struct reg_person_info
    {
    DWORD  Size;   /* size of this structure - must initialize with sizeof 
(REG_PERSON_INFO) */

    /* person name information */
    char   *LastName;
    char   *FirstName;
    char   *MiddleName;
    char   *OrgUnit;
    char   *ShortName;
    char   *AlternateName;
    char  *AltOrgUnit;
    char  *InternetAddress;

    /* person password information */
    char  *Password;
    WORD  PasswordQuality;

    /* person internet key information */
    WORD  INetKeyWidth;

    /* person language info */
    char  *AltLanguage;
    char  *PreferredLanguage;

    /* setup profile info */
    char  *ProfileName;

    /* person group membership */
    void   *pGroupList;

    /* policy information */
    char  *ExplicitPolicy;
    /* PolicyOverride function used when registering via policy 
(fREGExtRegUsingPolicy) 
    as a hook to modify registration items after policy evaluation but 
before 
    registration processing

    NOTE: As to not munge with internal memory, you should change pointers 
    to point to your memory, you should not change callback memory:

    Example:  To change the policy derived roaming subdirectory

    Don't do change callback memory buffer:
     Cstrcpy (PersonInfo->RoamingInfo->SubDirectory, "your new sub 
directory");

    Make the callback pointer point to your buffer:
     Cstrcpy (szYourBuffer, "your new sub directory");
     PersonInfo->RoamingInfo->SubDirectory = szYourBuffer;

    */
    STATUS (LNCALLBACKPTR PolicyOverride)(HCERTIFIER hCertCtx, 
          char far **RegServer,
          struct reg_person_info far *PersonInfo);

    /* registration flags */
    REGFlags  Flags;
    REGFlagsExt  FlagsExt;

    REG_MAIL_INFO_EXT *MailInfo;

    REG_ID_INFO  *IDInfo;

    REG_MISC_INFO *MiscInfo;

    REG_ROAMING_INFO *RoamingInfo;

    /* when specified with fREGExtReturnPersonNote - return the person note 
and DB handle */
    NOTEHANDLE  *phRetPersonNote;
    DBHANDLE  *phRetPersonNoteNAB;

    /* when specified, use this NoteID as the current person doc Note*/
    NOTEID  ADContactNoteID;

    DWORD Reserved[4];
    void *pReserved[4];
    char        *ForeignDN;     /* distinguished name of the entry in a 
non-domino repository (i.e LDAP DN) in Notes format */
    DIRENTRY    *phDirEntry;    /* DIRENTRY of person to be returned to 
caller, see fREGExtReturnPersonDirEntry */
    } REG_PERSON_INFO;

Description :


This structure defines person registration information for the REGNewPerson function. The entire structure must
be initialized to zero.

    The fields in the structure are (all fields that are not used must be NULL/O):
    Size Size of this structure - must be initialized with sizeof (REG_PERSON_INFO)
    LastName Last name of the new person.
    FirstName First name of the new person.
    MiddleName Middle name of the new person.
    OrgUnit Organizational unit of the new person.
    ShortName Short name of the new person.
    AlternateName Alternate name of the new person.
    AltOrgUnit Alternate org unit of the new person.
    InternetAddress The internet address of the new person.
    Password (Optional). The password for the new server.
    PasswordQuality Quality of password required for this server (0 - 16).
    INetKeyWidth (Optional) The width of the internet key in bits (see fREGExtCreateINetKeyPair) Valid values are:
    0 - default
    1024
    AltLanguage The alternate language of the new person.
    PreferredLanguage The preferred language of the new person.
    ProfileName (Optional). Setup profile name(s).
    pGroupList (Optional). A pointer to a list of groups to add the new person to, constructed with ListAllocate and ListAddEntries.
    ExplicitPolicy Explicit policy to assign to the new person(and/or the explicit policy to use when registering the new person (see fREGExtRegUsingPolicy).
    PolicyOverride Callback function used when registering person via policy (see fREGExtRegUsingPolicy) as a hook to modify registration items after policy evaluation but before registration processing.

    NOTE: You should consider all memory passed back to be read only, you should change pointers
    to point to your memory, you should not change callback memory:

    Example: To change the policy derived roaming subdirectory.

    Don't do change callback memory buffer:
    Cstrcpy (PersonInfo->RoamingInfo->SubDirectory, "your new sub directory");

    Make the callback pointer point to your buffer:
    Cstrcpy (szYourBuffer, "your new sub directory");
    PersonInfo->RoamingInfo->SubDirectory = szYourBuffer;

    Flags Flags that are set to specify options. See Symbolic Value, fREGxxx, in this reference.
    FlagsExt Flags that are set to specify options. See Symbolic Value, fREGExtxxx, in this reference.
    MailInfo (Optional) Pointer to a REG_MAIL_INFO_EXT strucutre
    IDInfo (Optional) Pointer to a REG_ID_INFO structure
    MiscInfo (Optional) Pointer to a REG_MISC_INFO structure
    RoamingInfo (Optional) Pointer to a REG_ROAMING_INFO structure
    phRetPersonNote (Optional) Pointer to receive the note handle of the new person document if the caller has specified the REGExtFlag fREGExtReturnPersonNote. Please see fREGExtxxx.
    phRetPersonNoteNAB (Optional) Pointer to receive the database handle of the database where the new person document was created.
    Reserved Reserved - must be 0
    pReserved Reserved - must be NULL

ForeignDN; Distinguished name of the entry in a non-domino repository (i.e LDAP DN) in Notes format.
phDirEntry; / Internal use /

See Also : fREGExtxxx fREGxxx REGNewPerson