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 + -
显示快捷键?