⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 extmgr.h

📁 IBM Lotus C++ API 7.0a for IBM Lotus Notes/Domino Directory Release --------- ------------------
💻 H
📖 第 1 页 / 共 2 页
字号:

#if defined(OS400) && (__OS400_TGTVRM__ >= 510)
#pragma datamodel(P128)
#endif

/*********************************************************************/
/*                                                                   */
/* Licensed Materials - Property of IBM                              */
/*                                                                   */
/* L-GHUS-5VMPGW, L-GHUS-5S3PEE                                      */
/* (C) Copyright IBM Corp. 1995, 2005  All Rights Reserved           */
/*                                                                   */
/* US Government Users Restricted Rights - Use, duplication or       */
/* disclosure restricted by GSA ADP Schedule Contract with           */
/* IBM Corp.                                                         */
/*                                                                   */
/*********************************************************************/



/* Extension Manager for Notes */

#ifndef EXMGR_DEFS
#define EXMGR_DEFS

#ifndef NSF_DATA_DEFS
#include "nsfdata.h"					/* We need DBHANDLE */
#endif

#ifndef NIF_DEFS
#include "nif.h"						/* We need HCOLLECTION */
#endif

#ifdef __cplusplus
extern "C" {
#endif

/* Extension identifier */

typedef WORD EID;

/* handle passed back to identify registration */

typedef DWORD HEMREGISTRATION;

/* extension record; this data structure is passed to the callback routine */

typedef struct
	{
	EID			EId;					/* identifier */
	WORD		NotificationType;		/* EM_BEFORE or EM_AFTER */
	STATUS		Status;					/* core error code */
	VARARG_PTR	Ap;						/* ptr to args */
	} EMRECORD; 

/* the callback; takes one argument */

typedef STATUS (LNCALLBACKPTR EMHANDLER)(EMRECORD far *);

/*	Constants used in NotificationType */

#define EM_BEFORE	0
#define EM_AFTER	1

/*	Flags which can be passed to EMRegister */

#define EM_REG_BEFORE		0x0001
#define EM_REG_AFTER		0x0002

/* prototypes */

STATUS LNPUBLIC	EMRegister(EID EmID, DWORD Flags, EMHANDLER Proc, WORD RecursionID, HEMREGISTRATION far *rethRegistration);
STATUS LNPUBLIC	EMDeregister(HEMREGISTRATION hRegistration);
STATUS LNPUBLIC	EMCreateRecursionID(WORD far *retRecursionID);


#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		/* V6 */
#define EM_NSFDBGETMAJMINVERSION			222		/* V5.09 */
#define EM_ROUTERJOURNALMESSAGE				223     /* V6 */

/* V6 SMTP hooks */
#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

/*	These functions are not actually defined (thus their declarations are only
	in comments) but illustrate the arguments for the corresponding extension
	manager callouts.

	EM_ROUTERJOURNALMESSAGE occurs when the router has received a message that has been 
	marked to be journalled.

	STATUS LNPUBLIC JournalMessage(DBHANDLE hMailBoxHandle,
								   NOTEID   NoteID);

	EM_SETPASSWORD occurs when an ID file password is being set, either by
	a user or by administrator action.

	STATUS LNPUBLIC SetPassword (
						DWORD MaxPwdLen,	 Longest password you may supply 
						DWORD far *retLength, Return the length of the password
						char far *retPassword, Return the password here 

						char far *FileName,	 The name of the ID file 
						char far *OwnerName, The name of the owner of the ID file 

						DWORD DataLen,		 The old length of the extra ID info 
						BYTE far *Data,		 The old value of the extra ID info 

						DWORD MaxNewData,	 The max amount of extra ID info you may supply 
						DWORD far *retNewDataLen, Return the length of the new ID info 
						BYTE far *retNewData); Return the new ID info 

	EM_GETPASSWORD occurs when a user is about to be prompted for a password
	to decrypt and ID file.

	STATUS LNPUBLIC GetPassword (
						DWORD MaxPwdLen,	 Longest password you may supply 
						DWORD far *retLength, Return the length of the password here 
						char far *retPassword, Return the password here 

						char far *FileName,	 The name of the ID file 
						char far *OwnerName, The name of the owner of the ID file 

						DWORD DataLen,		 The length of the extra ID info 
						BYTE far *Data);	 The extra ID info 

	EM_CLEARPASSWORD occurs when a password is to be "cleared" either due to
	a timeout or because the user has pressed F5.

	STATUS LNPUBLIC ClearPassword ();


	STATUS LNPUBLIC ConflictHandler ( 
						HANDLE hDb,			Database Handle
						HANDLE hOldNote,	Original Note Handle
						HANDLE hNewNote,	New Note Handle
						DWORD  *pAction);	Conflict Action to take	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -