Skip to content

EM xxx

Symbolic Value : Extension Manager
EM_xxx - EMRegister() - Extension manager notfication IDs

#include <extmgr.h>

Symbolic Values :

EM_xxx    -  see Description

Description :

The extension manager ID of the specific NSF call that is to send notification to the callback routine specified in EMRegister().



    #define EM_NSFDBCLOSESESSION                1
    #define EM_NSFDBCLOSE                       2
    #define EM_NSFDBCREATE                      3
    #define EM_NSFDBDELETE                      4
    #define EM_NSFNOTEOPEN                      5
    #define EM_NSFNOTECLOSE                     6
    #define EM_NSFNOTECREATE                    7
    #define EM_NSFNOTEDELETE                    8
    #define EM_NSFNOTEOPENBYUNID               10
    #define EM_FTGETLASTINDEXTIME              11
    #define EM_FTINDEX                         12
    #define EM_FTSEARCH                        13
    #define EM_NIFFINDBYKEY                    14
    #define EM_NIFFINDBYNAME                   15

    #define EM_NIFOPENNOTE                     17
    #define EM_NIFREADENTRIES                  18
    #define EM_NIFUPDATECOLLECTION             20
    #define EM_NSFDBALLOCOBJECT                22
    #define EM_NSFDBCOMPACT                    23
    #define EM_NSFDBDELETENOTES                24
    #define EM_NSFDBFREEOBJECT                 25
    #define EM_NSFDBGETMODIFIEDNOTETABLE       26
    #define EM_NSFDBGETNOTEINFO                29
    #define EM_NSFDBGETNOTEINFOBYUNID          30
    #define EM_NSFDBGETOBJECTSIZE              31
    #define EM_NSFDBGETSPECIALNOTEID           32
    #define EM_NSFDBINFOGET                    33
    #define EM_NSFDBINFOSET                    34
    #define EM_NSFDBLOCATEBYREPLICAID          35
    #define EM_NSFDBMODIFIEDTIME               36
    #define EM_NSFDBREADOBJECT                 37
    #define EM_NSFDBREALLOCOBJECT              39
    #define EM_NSFDBREPLICAINFOGET             40
    #define EM_NSFDBREPLICAINFOSET             41
    #define EM_NSFDBSPACEUSAGE                 42
    #define EM_NSFDBSTAMPNOTES                 43
    #define EM_NSFDBWRITEOBJECT                45
    #define EM_NSFNOTEUPDATE                   47
    #define EM_NIFOPENCOLLECTION               50
    #define EM_NIFCLOSECOLLECTION              51
    #define EM_NSFDBGETBUILDVERSION            52

    #define EM_NSFDBRENAME     54
    #define EM_NSFDBITEMDEFTABLE               56
    #define EM_NSFDBREOPEN                     59
    #define EM_NSFDBOPENEXTENDED               63

    #define EM_NSFNOTEOPENEXTENDED             64
    #define EM_TERMINATENSF                    69

    #define EM_NSFNOTEDECRYPT                  70
    #define EM_GETPASSWORD                     73
    #define EM_SETPASSWORD                     74

    #define EM_NSFCONFLICTHANDLER              75
    #define EM_MAILSENDNOTE                    83
    #define EM_CLEARPASSWORD                   90
    #define EM_NSFNOTEUPDATEXTENDED           102
    #define EM_SCHFREETIMESEARCH              105
    #define EM_SCHRETRIEVE                    106
    #define EM_SCHSRVRETRIEVE                 107

    #define EM_NSFDBCOMPACTEXTENDED    121
    #define EM_ADMINPPROCESSREQUEST           124
    #define EM_NIFGETCOLLECTIONDATA           126
    #define EM_NSFDBCOPYNOTE                  127
    #define EM_NSFNOTECOPY                    128
    #define EM_NSFNOTEATTACHFILE              129
    #define EM_NSFNOTEDETACHFILE              130
    #define EM_NSFNOTEEXTRACTFILE             131
    #define EM_NSFNOTEATTACHOLE2OBJECT        132
    #define EM_NSFNOTEDELETEOLE2OBJECT        133
    #define EM_NSFNOTEEXTRACTOLE2OBJECT       134
    #define EM_NSGETSERVERLIST                135
    #define EM_NSFDBCOPY                      136
    #define EM_NSFDBCREATEANDCOPY             137
    #define EM_NSFDBCOPYACL                   138
    #define EM_NSFDBCOPYTEMPLATEACL           139
    #define EM_NSFDBCREATEACLFROMTEMPLATE     140
    #define EM_NSFDBREADACL                   141
    #define EM_NSFDBSTOREACL                  142
    #define EM_NSFDBFILTER                    143
    #define EM_FTDELETEINDEX                  144
    #define EM_NSFNOTEGETINFO                 145
    #define EM_NSFNOTESETINFO                 146
    #define EM_NSFNOTECOMPUTEWITHFORM         147
    #define EM_NIFFINDDESIGNNOTE              148
    #define EM_NIFFINDPRIVATEDESIGNNOTE       149
    #define EM_NIFGETLASTMODIFIEDTIME         150
    #define EM_FTSEARCHEXT                    160
    #define EM_NAMELOOKUP                     161
    #define EM_NSFNOTEUPDATEMAILBOX           164
    #define EM_NIFFINDDESIGNNOTEEXT           167
    #define EM_AGENTOPEN                      170
    #define EM_AGENTRUN                       171
    #define EM_AGENTCLOSE                     172
    #define EM_AGENTISENABLED                 173
    #define EM_AGENTCREATERUNCONTEXT          175
    #define EM_AGENTDESTROYRUNCONTEXT         176
    #define EM_AGENTSETDOCUMENTCONTEXT        177
    #define EM_AGENTSETTIMEEXECUTIONLIMIT     178
    #define EM_AGENTQUERYSTDOUTBUFFER         179
    #define EM_AGENTREDIRECTSTDOUT            180
    #define EM_SECAUTHENTICATION              184
    #define EM_NAMELOOKUP2                    185
    #define EM_NSFDBHASPROFILENOTECHANGED     198
    #define EM_NSFMARKREAD                    208
    #define EM_NSFADDTOFOLDER                 209
    #define EM_NSFDBSPACEUSAGESCALED          210
    #define EM_NSFDBGETMAJMINVERSION          222
    #define EM_ROUTERJOURNALMESSAGE           223
    #define EM_SMTPCONNECT                    224
    #define EM_SMTPCOMMAND                    225
    #define EM_SMTPMESSAGEACCEPT              226
    #define EM_SMTPDISCONNECT                 227
    #define EM_NSFARCHIVECOPYNOTES            228
    #define EM_NSFARCHIVEDELETENOTES      229
    #define EM_NSFNOTEEXTRACTWITHCALLBACK     235
    #define EM_NSFDBSTAMPNOTESMULTIITEM       239
    #define EM_MEDIARECOVERY_NOTE      244

    #define EM_NSFGETCHANGEDDBS 246
    #define EM_NSFDBMODIFIEDTIMEBYNAME 247
    #define EM_NSFGETDBCHANGES 250
    #define EM_NSFNOTECIPHERDECRYPT 251
    #define EM_NSFNOTECIPHEREXTRACTFILE 252
    #define EM_NSFNOTECIPHEREXTRACTWITHCALLBACK 253
    #define EM_NSFNOTECIPHEREXTRACTOLE2OBJECT 254
    #define EM_NSFNOTECIPHERDELETEOLE2OBJECT 255
    #define EM_NSFDBNOTELOCK 256
    #define EM_NSFDBNOTEUNLOCK 257


    Note that for the following Extension Manager notifications, there is no corresponding directly-callable C API function. However you can still register an Extension Manager callback routine for these events:

    EM_GETPASSWORD see GetPasswordEMCallback
    EM_SETPASSWORD see SetPasswordEMCallback
    EM_CLEARPASSWORD see ClearPasswordEMCallback
    EM_NSFCONFLICTHANDLER see ConflictHandlerEMCallback
    EM_ADMINPPROCESSREQUEST see ProcessRequestEMCallback
    EM_TERMINATENSF see TerminateNSFEMCallback
    EM_NOTEUPDATEMAILBOX see NSFNoteUpdateMailboxEMCallback
    EM_NSFNOTEOPENEXTENDED see NSFNoteOpenExtendedEMCallback
    EM_MAILSENDNOTE see MailSendNoteEMCallback
    EM_NSFMARKREAD see NSFMarkReadEMCallback
    EM_NSFADDTOFOLDER see NSFAddToFolderEMCallback
    EM_SECAUTHENTICATION see AuthenticationEMCallback
    EM_NSFARCHIVECOPYNOTES see NSFArchiveCopyNotesEMCallback
    EM_NSFARCHIVEDELETENOTES see NSFArchiveDeleteNotesEMCallback

    Also, the signature for the callback function for the following Extension Manager notifications differs from the public C API function:

    EM_AGENTISENABLED see AgentIsEnabledEMCallback

    EM_GETPASSWORD, EM_SETPASSWORD and EM_CLEARPASSWORD can only be registered with the EM_REG_BEFORE flag. An extension manager hook for these operations cannot be called after Domino or Notes processes these operations.

    The callback routine for the EM_NSFDBCOMPACT notification may receive NULL for the retStats parameter. The Notes client will specify NULL for this parameter when database compaction is initiated from the user interface.

    EM_SCHFREETIMESEARCH, EM_SCHRETRIEVE and EM_SCHSRVRETRIEVE refer to the following functions, SchFreeTimeSearch, SchRetrieve and SchSrvRetrieve.

    EM_NSFNOTEUPDATEMAILBOX occurs when an update is performed on any and all mailbox databases (e.g. a mail.box file). This is true even if multiple mailboxes are enabled in the server configuration document. The extension manager handler for this notification will have the sender's access to the mailbox database, not the server's access.

    If EM_NSFNOTEUPDATE/NSFNOTEUPDATEXTENDED and EM_NSFNOTEUPDATEMAILBOX notifications are registered, the mailbox specific hook will be called "outside" the regular note update hook. That is, the "before" for the mailbox specific hook will be called prior to calling the "before" for the regular hook, and the "after" for the mailbox specific hook will be called after calling the "after" for the regular note update hook. The arguments are identical to those used for EM_NSFNOTEUPDATE.

    EM_NSFNOTEDELETE occurs when NSFNoteDelete or NSFNoteDeleteExtended is called. The argument list passed to the extension manager callback routine is the same as the argument list for NSFNoteDelete. Note that the extension manager callback routine can not know whether any extended Flag options have been passed to NSFNoteDeleteExtended.

    EM_TERMINATENSF occurs when NSF service terminates for the process, right before the extension manager DLLs are unloaded.

    When an Extension Manager is installed on a Lotus Domino server, calls to the C API to operate on a database from a client workstation will not necessarily trigger a corresponding notification. There is not a one-to-one correspondence between functions called on a client workstation and the requests sent to the server. For example, NSFDbDeleteNotes can only be trapped when the function call is made on the system hosting the database. If the system is a Domino server, requests to delete notes made remotely by client workstations will not result in EM_NSFDBDELETENOTES notifications on the server.

    An Extension Manager that accesses note item data over a network in which the note was not opened by the Extension Manager itself may receive all note item data, including the data type WORD in canonical format. This type of program must check the OpenFlags parameter in the callback function for EM_NSFNOTEOPEN or EM_NSFNOTEOPENBYUNID to see whether the OPEN_CANONICAL flag is set in the OpenFlags parameter. If this flag is set, use ODSReadMemory to convert any note item data to host format.

    The EM_NIFOPENNOTE opens a note by index position and optionally navigates.

See Also : AgentIsEnabledEMCallback AuthenticationEMCallback ClearPasswordEMCallback ConflictHandlerEMCallback EID EMHANDLER EMRECORD EMRegister GetPasswordEMCallback MailSendNoteEMCallback NSFAddToFolderEMCallback NSFDbHasProfileNoteChanged NSFMarkReadEMCallback NSFNoteOpenExtendedEMCallback NSFNoteUpdateMailboxEMCallback ProcessRequestEMCallback SetPasswordEMCallback TerminateNSFEMCallback