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

📄 oleods.h

📁 IBM Lotus C++ API 7.0a for IBM Lotus Notes/Domino Directory Release --------- ------------------
💻 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, 2000  All Rights Reserved           */
/*                                                                   */
/* US Government Users Restricted Rights - Use, duplication or       */
/* disclosure restricted by GSA ADP Schedule Contract with           */
/* IBM Corp.                                                         */
/*                                                                   */
/*********************************************************************/



/*	inc\ oleods.h - This header file contains typedefs and structures stored on disk
					by Notes and used in Notes OLE.

	NOTE:  This file can have NO dependencies on Microsoft OLE since it must be available
			on ALL platforms.

 */


#ifndef OLE_ODS_DEFS
#define OLE_ODS_DEFS

#ifndef ODS_DEFS
#include "ods.h"
#endif

#ifndef EDIT_ODS_DEFS
#include "editods.h"	/* for DDEFORMAT_??? definitions */
#endif

/*	Name of a form autolaunch item.  This optional item is created when
	designing a Notes form using the auto launch options. */

#define	FORM_AUTOLAUNCH_ITEM "$AUTOLAUNCH"

/*	Name of an OLE object item.  One of these is created for every
	OLE embedded object that exists in a Notes document.  This item
	is used to access OLE objects witout having to parse the
	Rich Text item within the document to find an OLE CD record */

#define OLE_OBJECT_ITEM "$OLEOBJINFO"


/*	On-disk structure of an OLE GUID.  This is taken directly from 
	OLE's compobj.h.  The reason it's copied rather than included
	here is to eliminate inclusion of the OLE2 header files, which
	without great pain, only compile on OLE platforms.  This header file
	is included on ALL Notes platforms, so we don't want to mess with the
	whole of OLE just for the GUID typedef... */

typedef struct 
{
    DWORD Data1;
    WORD  Data2;
    WORD  Data3;
    BYTE  Data4[8];
} OLE_GUID;


/*	Format of an on-disk autolaunch item. Most of the info contained in
	this structure refer to OLE autolaunching behaviors, but there are
	some  */

typedef struct
{
	WSIG		Header;				/* Signature and length of this record */
	DWORD		ObjectType;			/* Type of object to launch, see OBJECT_TYPE_??? */
	DWORD		HideWhenFlags; 		/* HIDE_ flags below */
	DWORD		LaunchWhenFlags;	/* LAUNCH_ flags below */
	DWORD		OleFlags;			/* OLE Flags below */
	DWORD		CopyToFieldFlags;	/* Field create flags below */
	DWORD		Spare1;
	DWORD		Spare2;
	WORD		FieldNameLength;	/* If named field, length of field name */
	OLE_GUID	OleObjClass;		/* ClassID GUID of OLE object, if create new */
	/* Field Name, if used, goes here */	
} CDDOCAUTOLAUNCH;


/* Autolaunch Object type flags */

#define AUTOLAUNCH_OBJTYPE_NONE			0x00000000
#define AUTOLAUNCH_OBJTYPE_OLE_CLASS	0x00000001 /* OLE Class ID (GUID) */
#define AUTOLAUNCH_OBJTYPE_OLEOBJ		0x00000002 /* First OLE Object */
#define AUTOLAUNCH_OBJTYPE_DOCLINK		0x00000004 /* First Notes doclink */
#define AUTOLAUNCH_OBJTYPE_ATTACH		0x00000008 /* First Attachment */
#define AUTOLAUNCH_OBJTYPE_URL			0x00000010 /* AutoLaunch the url in the URL field */


/*	Hide-when flags */

#define HIDE_OPEN_CREATE	0x00000001 /* Hide when opening flags */
#define HIDE_OPEN_EDIT		0x00000002
#define HIDE_OPEN_READ		0x00000004
#define HIDE_CLOSE_CREATE	0x00000008	/* Hide when closing flags */
#define HIDE_CLOSE_EDIT		0x00000010
#define HIDE_CLOSE_READ		0x00000020

/* 	Launch-when flags */

#define LAUNCH_WHEN_CREATE	0x00000001
#define LAUNCH_WHEN_EDIT	0x00000002
#define LAUNCH_WHEN_READ	0x00000004

/* OLE Flags */

#define OLE_EDIT_INPLACE	0x00000001
#define OLE_MODAL_WINDOW	0x00000002
#define OLE_ADV_OPTIONS		0x00000004

/* Field Location Flags */

#define FIELD_COPY_NONE		0x00000001	/* Don't copy obj to any field (V3 compatabile) */
#define FIELD_COPY_FIRST	0x00000002  /* Copy obj to first rich text field */
#define FIELD_COPY_NAMED	0x00000004  /* Copy obj to named rich text field */


typedef struct
{
	WSIG		Header;					/* Signature and length of this record */
	WORD		FileObjNameLength;		/* Length of name of extendable $FILE object containing 
											object data */
	WORD		DescriptionNameLength;	/* Length of description of object */
	WORD		FieldNameLength;		/* Length of field name in which object resides */
	WORD		TextIndexObjNameLength;	/* Length of name of the $FILE object containing LMBCS text 
											for object */
	OLE_GUID	OleObjClass;			/* OLE ClassID GUID of OLE object */
	WORD		StorageFormat;			/* See below OLE_STG_FMT_??? */	
	WORD		DisplayFormat;			/* Object's display format within document, DDEFORMAT_??? */
	DWORD		Flags;					/* Object information flags, see OBJINFO_FLAGS_??? */
	WORD		StorageFormatAppearedIn;/* Version # of Notes, high byte=major, low byte=minor, 
											for display purposes -- not really used */
	WORD		HTMLDataLength;			/* Length of HTML data for object */
	WORD		AssociatedFILEsLength;	/* Length of Associated $FILEs data for object */
	WORD		Reserved3;				/* Unused, must be 0 */
	DWORD		Reserved4;				/* Unused, must be 0 */
	/* The variable length portions go here in the following order:
		FileObjectName
		DescriptionName
		Field Name in Document in which this object resides
		Full Text index $FILE object name
		HTML Data
		Associated $FILEs Data
	*/
}CDOLEOBJ_INFO;

#define OBJINFO_FLAGS_SCRIPTED				0x00000001  /* Object is scripted */
#define OBJINFO_FLAGS_RUNREADONLY			0x00000002	/* Object is run in read-only mode */
#define OBJINFO_FLAGS_CONTROL				0x00000004	/* Object is a control */
#define OBJINFO_FLAGS_FITTOWINDOW			0x00000008	/* Object is sized to fit to window */
#define OBJINFO_FLAGS_FITBELOWFIELDS		0x00000010	/* Object is sized to fit below fields */
#define OBJINFO_FLAGS_UPDATEFROMDOCUMENT	0x00000020	/* Object is to be updated from document */
#define OBJINFO_FLAGS_INCLUDERICHTEXT		0x00000040	/* Object is to be updated from document */
#define OBJINFO_FLAGS_ISTORAGE_ISTREAM      0x00000080	/* Object is stored in IStorage/IStream
															format rather than RootIStorage/
															IStorage/IStream */
#define OBJINFO_FLAGS_HTMLDATA				0x00000100	/* Object has HTML data */

#define OLE_STG_FMT_STRUCT_STORAGE		1	/* OLE "Docfile" structured storage format,
												RootIStorage/IStorage/IStream (Notes format) */
#define OLE_STG_FMT_ISTORAGE_ISTREAM	2	/* OLE IStorage/IStream structured storage format */
#define OLE_STG_FMT_STRUCT_STREAM		3	/* OLE RootIStorage/IStream structured storage format */


/* HTML OBJECT Event Entry ----------------------------------------------------- */
typedef struct
{
	WORD	wLength;			/* Size of this structure including both fixed and
									variable sections */
	WORD	wsNameLength;		/* Length of Name */
	WORD	wsScriptLength;		/* Length of Script */
	WORD	wReserved1;			/* Unused, must be 0 */
	WORD	wReserved2;			/* Unused, must be 0 */
	/* The variable length portions go here in the following order:
		Name
		Script 
	*/
} OLEOBJHTMLEVENT;	

/* HTML OBJECT Param Entry ----------------------------------------------------- */
typedef struct
{
	WORD	wLength;			/* Size of this structure including both fixed and
									variable sections */
	WORD	wsDataFldLength;	/* Length of Data Field */
	WORD	wsDataFmtsLength;	/* Length of Data Formats */
	WORD	wsDataSrcLength;	/* Length of Data Source */
	WORD	wsNameLength;		/* Length of Name */
	WORD	wsTypeLength;		/* Length of Type */
	WORD	wsValueLength;		/* Length of Value */
	WORD	wsValueTypeLength;	/* Length of Value Type */
	WORD	wReserved1;			/* Unused, must be 0 */
	WORD	wReserved2;			/* Unused, must be 0 */
	/* The variable length portions go here in the following order:
		Data Field - column name from the data source object
		Data Formats - indicates whether bound data is plain text or HTML
		Data Source - "#ID" of the data source object
		Name - name of this parameter
		Type - internal media type
		Value - value associated with parameter
		Value Type - type of value (data, ref, object) 
	*/
} OLEOBJHTMLPARAM;

/* OLE Object HTML Data ------------------------------------------------------------- */
typedef struct
{								
	WORD	wLength;				/* Size of this structure including both fixed and
										variable sections */
	WORD	wsURLBaseLength;		/* Length of Base URL */
	WORD	wsURLCodeBaseLength;	/* Length of CodeBase URL */
	WORD	wsMIMETypeCodeLength;	/* Length of MIME CodeType */
	WORD	wsURLDataLength;		/* Length of Data URL */
	WORD	wsDataFldLength;		/* Length of Data Field name */
	WORD	wsDataSrcLength;		/* Length of Data Source ID */
	DWORD	dwFlags;				/* Flags */
	WORD	wsLangLength;			/* Length of Language */
	WORD	wsNameLength;			/* Length of Name */
	WORD	wsMIMETypeDataLength;	/* Length of MIME Type */
	WORD	wcEvents;				/* Number of events */
	WORD	wcParams;				/* Number of params */
	WORD	wHeight;				/* Height of object */
	WORD	wWidth;					/* Width of object */
	WORD	wReserved1;				/* Unused, must be 0 */
	WORD	wReserved2;				/* Unused, must be 0 */
	WORD	wReserved3;				/* Unused, must be 0 */
	WORD	wReserved4;				/* Unused, must be 0 */
	WORD	wReserved5;				/* Unused, must be 0 */
	WORD	wReserved6;				/* Unused, must be 0 */
	/* The variable length portions go here in the following order:
		URLBase - Base URL
		CodeBase - URL that references where to find implementation of the object. 
		CodeType - MIME type of the code referenced by CLSID
		Data - URL of the data to be loaded
		Data Field - column name from the data source object
		Data Source - "#ID" of the data source object
		Lang - ISO standard language abbreviation
		Name - variable name
		Type - MIME type of Data attribute.
		Events - array or list of events (OLEOBJHTMLEVENT structures)
		Params - array or list of params (OLEOBJHTMLPARAM structures)
	*/
} OLEOBJHTMLDATA;


#define OBJINFO_HTMLFLAGS_DECLARE	0x00000001	/* Declare - download and install object's code
													but do not instantiate. */

/* Associated $FILE Object Data --------------------------------------------------------- */
typedef struct 
{
	WORD	wLength;			/* Size of this structure including both fixed and
								variable sections */
	WORD	wcAssociatedFILE;	/* Length of the Associated $FILE name */
	WORD	wLinkType;			/* Unused, must be 0 */
	DWORD	Reserved;			/* Unused, must be 0 */
	/* Variable length portions go here in the following order:
		Associated $FILE name
	*/
} ASSOCIATEDFILE;

/* Associated $FILEs Data --------------------------------------------------------- */
typedef struct
{								
	WORD	wLength;				/* Size of this structure including both fixed and
										variable sections */
	WORD	wcAssociatedFILEs;		/* Number of Associated $FILEs */
	WORD	wReserved1;				/* Unused, must be 0 */
	WORD	wReserved2;				/* Unused, must be 0 */
	WORD	wReserved3;				/* Unused, must be 0 */
	/* The variable length portions go here in the following order:
		Associated $FILEs - array or list of Associated FILES (OLEOBJASSOCIATEDFILE structures)
	*/
} ASSOCIATEDFILESDATA;


#endif	/* OLE_ODS_DEFS */


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

⌨️ 快捷键说明

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