📄 extmgr.h
字号:
*pAction returns:
CONFLICT_ACTION_MERGE - Have Notes try to merge
CONFLICT_ACTION_HANDLE - User handled the conflict
(zero) - Proceed with Conflict in normal manner
EM_ADMINPPROCESSREQUEST occurs prior to and after the Administration Process has
processed a request on a server.
STATUS LNPUBLIC ProcessRequest (
NOTEHANDLE nhRequest, The handle of the Admin Request note
NOTEHANDLE nhResponse); The handle of the Admin Log note
EM_TERMINATENSF occurs when NSF service terminates for the process.
void LNPUBLIC TerminateNSF (void *unused_params);
EM_NSFNOTEUPDATEMAILBOX occurs when a NSFNoteUpdate is performed on
any and all mailbox databases (e.g. mail.box). This is true even if
multiple mailboxes are enabled in the server configuration document.
The arguments are identical to those used for EM_NSFNOTEUPDATE.
EM_NIFOPENNOTE opens a note by index position and optionally navigates.
It is used by the Notes Editor.
STATUS LNPUBLIC NIFOpenNote (
HCOLLECTION hCollection,
COLLECTIONPOSITION far *IndexPos,
WORD Navigator,
WORD FallbackNavigator,
NOTEID NoteID,
DWORD OpenFlags,
INDEXSPECIALINFO far *retIndexInfo,
HANDLE far *rethNote);
EM_NSFNOTEOPENEXTENDED is a Notes internal, extended form of NSFNoteOpen.
STATUS LNPUBLIC NSFNoteOpenExtended (
DBHANDLE hDB,
NOTEID NoteID,
DWORD flags,
DWORD SinceSeqNum,
BYTE *pKey,
HANDLE *rtn);
EM_MAILSENDNOTE is called when the Mailer sends an open note to recipients
listed in the note's header items.
STATUS LNPUBLIC MailSendNote (
HANDLE hNote,
void *internalViewDesc,
WORD Flags,
BOOL *Modified,
void *SendNoteCtx);
EM_NSFMARKREAD is called when a note is opened by the Notes client and marked READ.
Note that this does not include other mechanisms that could result in a note being
marked read, such as being read by the client on another replica.
STATUS LNPUBLIC NSFMarkRead(
DBHANDLE hDB, - Handle of database containing note being marked
HANDLE hNote, - Handle to note being marked read
NOTEID NoteID); - NoteID of the note being marked read
EM_NSFADDTOFOLDER is called when a note is being added or removed
from a folder. The IsAddOperation flag should be checked to determine
if this note is being added or removed from the folder.
STATUS LNPUBLIC NSFAddToFolder(
DBHANDLE hViewDB, - Handle of database containing folder
DBHANDLE hDataDB, - Handle of database containing notes being added to folder
NOTEID FolderNoteID, - NoteID of the folder note
NOTEID NoteID, - NoteID of the note being added to (removed from) the folder
UNID *NoteUNID, - UNID of the note being added to (removed from) the folder
BOOL IsAddOperation, - TRUE if note being added to the folder, FALSE if note being removed
TIMEDATE *RevisionTime); - Time of original folder addition (OPTIONAL - may be NULL)
EM_SMTPCONNECT is called when an inbound SMTP connection has been detected.
The Extension Manager EM_BEFORE notification type for the EM_SMTPCONNECT event occurs when an
inbound SMTP connection has been detected and prior to the execution of the internal Domino SMTP
restriction controls. Callback routine can implement their own anti-relay checks and bypass
Domino related checks through the use of PossibleRelay BOOL and return status of value NOERROR.
Return STATUS other than ERR_EM_CONTINUE or NOERROR sets AccessDenied flag which causes subsequent
commands to be rejected.
The Extension Manager EM_AFTER notification type for the EM_SMTPCONNECT event occurs after the SMTP
listener task has accepted the connection but prior to sending the SMTP greeting to the connecting host.
STATUS LNPUBLIC SMTPConnect(
DWORD SessionID, - Unique session identifier
char *RemoteIP, - NULL terminated string containing IP address of connecting host
char *RemoteHost, - NULL terminated string containing host name of connecting host if reverse DNS
lookup was successful. If lookup was unsuccessful, the string length will be zero.
BOOL &PossibleRelay, - Indicator whether connecting host should be treated as possible relay or not
char *Greeting, - Greeting that will be returned to the connecting host
- Greeting is NULL during EM_BEFORE notification
DWORD MaxGreetingLength); - Size of buffer allocated to modify Greeting
EM_SMTPCOMMAND is called whenever a SMTP command has been received by the SMTP task.
The Extension Manager EM_BEFORE notification type for the EM_SMTPCOMMAND event occurs whenever a SMTP
command has been received by the SMTP listener task but prior to the parsing of the command.
Domino allocates a buffer that can be used by callback routines for the EM_BEFORE notification to modify
the command and thus change internal Domino processing. NOERROR return status indicates to skip parsing
and execution of command. The default reply when STATUS is NOERROR is "250 OK". Return STATUS values
other than ERR_EM_CONTINUE and NOERROR from the EM_BEFORE notification results in the command being
rejected. A default error message will be generated by the Domino SMTP server, which can be modified by
the callback routine for the EM_AFTER notification. STATUS of ERR_EM_CONTINUE will continue normal Domino
processing.
SMTP response to the command entered can be modified during the callback routine of EM_AFTER notification.
Care must be taken not to change the reply code from success to failure or vice-versa as this will cause
the sender-SMTP and receiver-SMTP servers to be out of synch. Domino supplies a buffer that can
be used by the callback routine to change the SMTP response.
STATUS LNPUBLIC SMTPCommand(
DWORD SessionID, - Unique session identifier
char *Command, - NULL terminated string containing SMTP command and arguments received
DWORD MaxCommandLength, - Size of buffer allocated to modify Command
char *SMTPReply, - SMTP response that will be returned to the connecting host
- SMTPReply is NULL during EM_BEFORE notification
DWORD SMTPReplyLength); - Size of buffer allocated to modify SMTPReply
EM_SMTPMESSAGEACCEPT is called following the receipt of "end of mail data indicator", a line containing a single
period, and itemization of the MIME stream into an in-memory note.
Following the receipt of the "end of mail data indicator", the resulting stream is itemized to an
in-memory note. The Extension Manager EM_BEFORE notification type for the EM_SMTPMESSAGEACCEPT event
occurs following itemization but prior to adding the note to the mailbox. If the callback routine
returns STATUS of NOERROR, the Domino SMTP server will stop further processing of the message. By default
a success response is generated by core Domino code when NOERROR STATUS has been returned. It is also
possible for the callback routine to intercept the message and deposit to database where scans can be
performed. The Callback routine can make changes to the note in the EM_BEFORE event but should not
attempt to close the note as this is done by the core code.
The Extension Manager EM_AFTER notification type for the EM_SMTPMESSAGEACCEPT event occurs after the SMTP
listener task attempted to submit the message to the mailbox but prior to sending a reply. The Callback
routines for the EM_AFTER notification can change the reply returned to the connecting host however, care
must be taken not to change the reply code from success to error or vice-versa as this would cause the
sender-SMTP and receiver-SMTP servers to be out of synch.
STATUS LNPUBLIC SMTPMessageAccept(
DWORD SessionID, - Unique session identifier
NOTEHANDLE Note, - Note containing the itemized message
char *SMTPReply, - SMTP Response that will be returned to the connecting host
- SMTPReply is NULL during EM_BEFORE notification
DWORD SMTPReplyLength); - Size of buffer allocated to modify SMTPReply
EM_SMTPDISCONNECT is called when a SMTP connection is being torn down. This includes normal and abnormal disconnects,
such as when the QUIT command is issued or when a session times out.
STATUS LNPUBLIC SMTPDisconnect(
DWORD SessionID); - Unique session identifier
The following 2 archive calls are NOT defined
EM_NSFARCHIVEDELETENOTES is called after documents have been selected and copied to
the destination db if desired. It is time for archiving to delete the archived notes
that qualify from the source database
STATUS LNPUBLIC NSFArchiveDeleteNotes(
DBHANDLE hDB, - handle of the source db where notes will be deleted from
HANDLE hTempIDTable, - handle of the id table containing the notes ids to be deleted
DWORD dwFlags ); - none at this time
EM_NSFARCHIVECOPYNOTES is called after documents have been selected for archiving and
copies them from the source db to the specified destination db
STATUS LNPUBLIC NSFArchiveCopyNotes(
DBHANDLE hSrcDB, - dbhandle of the source db
DBHANDLE hDestDB, - dbhandle of the destination db
HANDLE hIdTable, - handle to the id table containing the note ids to be copied to the dest
DWORD dwFlags, - none at this time
TIMEDATE *ptdSrcMod, - pointer to a timedate for last modified time of source db
REPLFILESTATS *pStats); - pointer to a REPLFILESTATS strcuture containing the stats of the copy
The following functions ARE defined, but their extension manager callouts
have slightly different signatures than the standard mechanism because of
the fact that the function returns something other than STATUS. The
extension manager callout has an added argument which allows the callout
to write the return value of the API routine. For purposes of the callout,
it is as if the function signatures were as follows.
STATUS LNPUBLIC AgentIsEnabled(HAGENT hAgent, BOOL *return_value);
EM_SECAUTHENTICATION is called on the server after the Notes Authentication
succeeds but before the session is opened.
STATUS LNPUBLIC Authentication (WORD wEvent
,SESSIONID SessionId
,char far * pRemoteName
,DWORD dwFlags
,WORD wNetProtocol
,char far * NetAddress
,void far * vpNull
)
This function is called every time a note is encountered during database media recovery. The database being recovered can
not be changed in any way but the note can be, for example, copied off to a different database. This can be used, for example,
for salavaging the content of notes which are going to be deleted at a later point in the media recovery process.
STATUS LNPUBLIC NSFDbMediaRecoveryNote(DBHANDLE hDB, HANDLE hNote, BOOL IsInsert, BOOL IsUpdate, BOOL IsDelete)
*/
/* Authentication Extension Manager flags
*/
#define fAuthRoleServer ((DWORD) 0x00000001)
#define fAuthRolePassthruServer ((DWORD) 0x00000002)
#define fAuthClientViaPassthruServer ((DWORD) 0x00000004)
/* Authentication Extension Manager events
*/
#define AUTHEM_StartAuthentication ((WORD) 0x0000)
#define AUTHEM_Poll ((WORD) 0x0001)
#define AUTHEM_Identify ((WORD) 0x0002)
#define AUTHEM_Terminate ((WORD) 0x0003)
#define MAXAUTHEMNAMELENGTH 1024
#ifdef __cplusplus
}
#endif
#endif /* EXMGR_DEFS */
#if defined(OS400) && (__OS400_TGTVRM__ >= 510)
#pragma datamodel(pop)
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -