📄 extmgr.h
字号:
#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 + -