olenotes.h
来自「IBM Lotus C++ API 7.0a for IBM Lotus Not」· C头文件 代码 · 共 406 行 · 第 1/2 页
H
406 行
#include "names.h" /* for MAXUSERNAME */
#endif
/*
Format for the NOTES_DOC_INFO_MSG. This is the format that Notes uses
in the registration database to determine if an OLE server is capable
of receiving this format of data. If an OLE server supports this message,
the following Key must be put in the registration database under
Windows:
<ObjectClass>\Protocol\StdFileEditing\SetDataFormats=NotesDocInfo
Format for the NOTES_HNOTE message. This is the format that Notes uses
in the registration database to determine if an OLE server is capable
of rendering a message of this data format. If an OLE server supports
this format, the following Key must be put in the registration database
under Windows:
<ObjectClass>\Protocol\StdFileEditing\RequestDataFormats=NoteshNote
The Macintosh registration database works differently than Windows
in that apps cannot just make up their own keys and use them. So
to work within the limits of this scheme, the only way for apps
to generate unique strings is to map the formats into verb
strings, using the "SetDataFormats" or "RequestDataFormats" as
the PROTOCOL hierarchy name rather than StdFileEditing:
<ObjectClass>\Protocol\SetDataFormats\Verb\<verbnum>=NotesDocInfo
<ObjectClass>\Protocol\RequestDataFormats\Verb\<verbnum>=NoteshNote
*/
/* This is the Windows clipboard format string registered by the Notes
workstation for the NOTES_DOC_INFO_MSG */
#define NOTES_DOCINFO_CLIP_FORMAT "NotesDocInfo"
/* Resource type used on the MAC for OleSetData for the NOTES_DOC_INFO_MSG */
#define RES_TYPE_DOCINFO_CLIP_FORMAT 'NTDI'
/* Version/platform info for this structure. */
#define NOTES_DOC_INFO_VERSION1 0 /* First version of this structure */
/* This is the data object passed from Notes to OLE servers via
OleSetData(), using the registered format "NotesDocInfo", defined
above. Notes allocates this structure in global shared memory
so the OLE server can access it and the OLE server is always responsible
for deallocating the memory object (as with any handle passed to server
via its SetData() method. */
typedef struct
{
WORD Version; /* Version of this structure */
NOTELINK DocLink; /* Document in which OLE object resides */
WORD DocOpenMode; /* DOC_OPENMODE_??? flags below */
WORD DocFlags; /* DOC_FLAGS_??? flags below*/
WORD UserAccess; /* USER_ACCESS_??? flags below */
HWND hDocWnd; /* Notes document window handle */
char UserName[MAXUSERNAME]; /* Notes user name */
NOTEHANDLE hNote; /* Handle to document's note: THIS IS READ ONLY! its lifetime is only for duration of the SetData method */
NOTEHANDLE hFXNote; /* Empty note, associated with document's DB. A server should use this for writing items to be applied to hNote */
WORD cNumDocActions; /* Count of doc actions, if any. Only passed to server if registered to support NotesDocAction GetData() */
HANDLE hDocActions; /* Notes OSMemAlloc() handle to DOC_ACTION_INFO */
DWORD dwUnused[2];
} NOTES_DOC_INFO_MSG;
/* Document open mode flags */
#define DOC_OPENMODE_READONLY 0x0001 /* Read Only */
#define DOC_OPENMODE_EDIT 0x0002 /* Edit mode */
/* Other document state information */
#define DOC_FLAGS_EDITFORM 0x0001 /* Editing a form */
#define DOC_FLAGS_COMPOSE_NEW 0x0002 /* Composing a new document (doc not yet saved) */
/* The flags below are necessary for interpreting hWnd */
/* Note: if none of these flags is set, assume */
/* the Win16 version of Notes */
#define DOC_FLAGS_WIN32 0x0004 /* Windows 32-bit version of Notes */
#define DOC_FLAGS_MAC 0x0008 /* Mac version of Notes */
#define USER_ACCESS_EDIT 0x0001 /* User has edit capabilities. */
/* This is the structure of the Notes Document Actions passed through the
hDocActions handle in the NOTES_DOC_INFO_MSG to those OLE objects registered
as supporting the NotesDocAction SetData() format. It is an array of the
following data structure, whose count is provided in the NOTES_DOC_INFO_MSG.
This data block must be deallocated by the OLE server. */
#define ACTION_NAME_SIZE 128
typedef struct
{
int ActionID; /* Notes magic cookie identifying this action */
WORD NameLength;
char Name[ACTION_NAME_SIZE]; /* Action name in LMBCS character set */
DWORD Flags; /* ACTION_FLAG_??? below */
}DOC_ACTION_INFO;
#define ACTION_FLAG_HIDE 0x00000001 /* Don't show in UI. Only used for some reserved actions */
/* Here are a list of reserved actions. Note that all actions in the
negative number range are "reserved" actions which have specified
semantics. */
#define DOC_ACTION_MAIL -1 /* Mail the document */
#define DOC_ACTION_CONSOLIDATE -2 /* Perform a consolidation */
/* This is the Windows clipboard format string registered by the Notes
workstation for the NOTES_HNOTE and NOTES_DOCACTION request data/GetData message
Also added 10/31 for V4, NotesDocActionDone completion notification (SetData) */
#define NOTES_HNOTE_CLIP_FORMAT "NoteshNote"
#define NOTES_DOCACTION_CLIP_FORMAT "NotesDocAction"
#define NOTES_DOCACTION_DONE_CLIP_FORMAT "NotesDocActionDone"
/* Resource type used on the MAC for OleRequestData for the NOTES_HNOTE & NOTES_DOCACTION request */
#define RES_TYPE_HNOTE_CLIP_FORMAT 'NTHN'
#define RES_TYPE_DOCACTION_CLIP_FORMAT 'NTDA'
#define RES_TYPE_DOCACTION_DONE_CLIP_FORMAT 'NTAD'
/* Here is the format of the message initialized by the OLE FX server
when receiving a request by Notes */
typedef struct
{
NOTEHANDLE hNote; /* Handle to a copy of the server's updated hNote */
DWORD Unused[3]; /* Future use */
} NOTES_HNOTE_MSG;
/* Here is the format of the message supplied by the OLE FX server to notify
Notes to execute a specified Document Action. The document action was
passed from Notes in the NOTES_DOC_INFO_MSG. */
typedef struct
{
int ActionID; /* Doc action ID for Notes to process */
DWORD Flags;
DWORD Unused[3]; /* Future use */
} NOTES_EXECUTE_DOCACTION_MSG;
/* Message passed to OLE FX server upon the completion of an executed Doc Action */
typedef struct
{
int ActionID; /* Doc action ID which has completed execution */
DWORD ExecuteStatus; /* Execution status, 0 = SUCCESS, Non-zero internal failure. */
DWORD Unused[3]; /* Future use */
} NOTES_DOCACTION_DONE_MSG;
/* If you want your OLE object to receive the NOTES_DOC_INFO_MSG message when
the Notes document containing your objects is printed, then your
application must handle an OleActivate() using the predefined
printing verb named "Print" (for USA), or translated to the localized
country translation, which matches that of the translation used
by Notes. Notes actually stores the localized string "Print" in its
string resources, and does not actually used the constant below anywhere
in compiled code. However, its defined below as a mere convienience to
Notes API developers as a reference. */
#define NOTES_OLE_PRINT_VERB_USA "Print"
#endif
#ifdef __cplusplus
}
#endif
#if defined(OS400) && (__OS400_TGTVRM__ >= 510)
#pragma datamodel(pop)
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?