ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

ole.h
Go to the documentation of this file.
00001 #ifndef _OLE_H
00002 #define _OLE_H
00003 
00004 #ifdef __cplusplus
00005 extern "C" {
00006 #endif
00007 #ifdef STRICT
00008 #define OLE_LPCSTR LPCSTR
00009 #define OLE_CONST const
00010 #else
00011 #define OLE_LPCSTR LPSTR
00012 #define OLE_CONST
00013 #endif
00014 #define LRESULT LONG
00015 #define HGLOBAL HANDLE
00016 #define OT_LINK 1L
00017 #define OT_EMBEDDED 2L
00018 #define OT_STATIC 3L
00019 #define OLEVERB_PRIMARY 0
00020 #define OF_SET 1
00021 #define OF_GET 2
00022 #define OF_HANDLER 4
00023 
00024 typedef struct _OLETARGETDEVICE {
00025     USHORT otdDeviceNameOffset;
00026     USHORT otdDriverNameOffset;
00027     USHORT otdPortNameOffset;
00028     USHORT otdExtDevmodeOffset;
00029     USHORT otdExtDevmodeSize;
00030     USHORT otdEnvironmentOffset;
00031     USHORT otdEnvironmentSize;
00032     BYTE otdData[1];
00033 } OLETARGETDEVICE;
00034 typedef OLETARGETDEVICE *LPOLETARGETDEVICE;
00035 typedef enum {
00036 OLE_OK,
00037 OLE_WAIT_FOR_RELEASE,
00038 OLE_BUSY,
00039 OLE_ERROR_PROTECT_ONLY,
00040 OLE_ERROR_MEMORY,
00041 OLE_ERROR_STREAM,
00042 OLE_ERROR_STATIC,
00043 OLE_ERROR_BLANK,
00044 OLE_ERROR_DRAW,
00045 OLE_ERROR_METAFILE,
00046 OLE_ERROR_ABORT,
00047 OLE_ERROR_CLIPBOARD,
00048 OLE_ERROR_FORMAT,
00049 OLE_ERROR_OBJECT,
00050 OLE_ERROR_OPTION,
00051 OLE_ERROR_PROTOCOL,
00052 OLE_ERROR_ADDRESS,
00053 OLE_ERROR_NOT_EQUAL,
00054 OLE_ERROR_HANDLE,
00055 OLE_ERROR_GENERIC,
00056 OLE_ERROR_CLASS,
00057 OLE_ERROR_SYNTAX,
00058 OLE_ERROR_DATATYPE,
00059 OLE_ERROR_PALETTE,
00060 OLE_ERROR_NOT_LINK,
00061 OLE_ERROR_NOT_EMPTY,
00062 OLE_ERROR_SIZE,
00063 OLE_ERROR_DRIVE,
00064 OLE_ERROR_NETWORK,
00065 OLE_ERROR_NAME,
00066 OLE_ERROR_TEMPLATE,
00067 OLE_ERROR_NEW,
00068 OLE_ERROR_EDIT,
00069 OLE_ERROR_OPEN,
00070 OLE_ERROR_NOT_OPEN,
00071 OLE_ERROR_LAUNCH,
00072 OLE_ERROR_COMM,
00073 OLE_ERROR_TERMINATE,
00074 OLE_ERROR_COMMAND,
00075 OLE_ERROR_SHOW,
00076 OLE_ERROR_DOVERB,
00077 OLE_ERROR_ADVISE_NATIVE,
00078 OLE_ERROR_ADVISE_PICT,
00079 OLE_ERROR_ADVISE_RENAME,
00080 OLE_ERROR_POKE_NATIVE,
00081 OLE_ERROR_REQUEST_NATIVE,
00082 OLE_ERROR_REQUEST_PICT,
00083 OLE_ERROR_SERVER_BLOCKED,
00084 OLE_ERROR_REGISTRATION,
00085 OLE_ERROR_ALREADY_REGISTERED,
00086 OLE_ERROR_TASK,
00087 OLE_ERROR_OUTOFDATE,
00088 OLE_ERROR_CANT_UPDATE_CLIENT,
00089 OLE_ERROR_UPDATE,
00090 OLE_ERROR_SETDATA_FORMAT,
00091 OLE_ERROR_STATIC_FROM_OTHER_OS,
00092 OLE_ERROR_FILE_VER,
00093 OLE_WARN_DELETE_DATA = 1000
00094 } OLESTATUS;
00095 typedef enum {
00096     OLE_CHANGED,
00097     OLE_SAVED,
00098     OLE_CLOSED,
00099     OLE_RENAMED,
00100     OLE_QUERY_PAINT,
00101     OLE_RELEASE,
00102     OLE_QUERY_RETRY
00103 } OLE_NOTIFICATION;
00104 typedef enum {
00105     OLE_NONE,
00106     OLE_DELETE,
00107     OLE_LNKPASTE,
00108     OLE_EMBPASTE,
00109     OLE_SHOW,
00110     OLE_RUN,
00111     OLE_ACTIVATE,
00112     OLE_UPDATE,
00113     OLE_CLOSE,
00114     OLE_RECONNECT,
00115     OLE_SETUPDATEOPTIONS,
00116     OLE_SERVERUNLAUNCH,
00117     OLE_LOADFROMSTREAM,
00118     OLE_SETDATA,
00119     OLE_REQUESTDATA,
00120     OLE_OTHER,
00121     OLE_CREATE,
00122     OLE_CREATEFROMTEMPLATE,
00123     OLE_CREATELINKFROMFILE,
00124     OLE_COPYFROMLNK,
00125     OLE_CREATEFROMFILE,
00126     OLE_CREATEINVISIBLE
00127 } OLE_RELEASE_METHOD;
00128 typedef enum {
00129     olerender_none,
00130     olerender_draw,
00131     olerender_format
00132     } OLEOPT_RENDER;
00133 typedef WORD OLECLIPFORMAT;
00134 typedef enum {
00135     oleupdate_always,
00136     oleupdate_onsave,
00137 #ifdef OLE_INTERNAL
00138     oleupdate_oncall,
00139     oleupdate_onclose
00140 #else
00141     oleupdate_oncall
00142 #endif
00143 } OLEOPT_UPDATE;
00144 typedef HANDLE HOBJECT;
00145 typedef LONG LHSERVER;
00146 typedef LONG LHCLIENTDOC;
00147 typedef LONG LHSERVERDOC;
00148 typedef struct _OLEOBJECT *LPOLEOBJECT;
00149 typedef struct _OLESTREAM *LPOLESTREAM;
00150 typedef struct _OLECLIENT *LPOLECLIENT;
00151 typedef struct _OLEOBJECTVTBL {
00152     void *(CALLBACK* QueryProtocol)(LPOLEOBJECT,OLE_LPCSTR);
00153     OLESTATUS (CALLBACK* Release)(LPOLEOBJECT);
00154     OLESTATUS (CALLBACK* Show)(LPOLEOBJECT,BOOL);
00155     OLESTATUS (CALLBACK* DoVerb)(LPOLEOBJECT,UINT,BOOL,BOOL);
00156     OLESTATUS (CALLBACK* GetData)(LPOLEOBJECT,OLECLIPFORMAT,HANDLE*);
00157     OLESTATUS (CALLBACK* SetData)(LPOLEOBJECT,OLECLIPFORMAT,HANDLE);
00158     OLESTATUS (CALLBACK* SetTargetDevice)(LPOLEOBJECT,HGLOBAL);
00159     OLESTATUS (CALLBACK* SetBounds)(LPOLEOBJECT,OLE_CONST RECT*);
00160     OLECLIPFORMAT (CALLBACK* EnumFormats)(LPOLEOBJECT,OLECLIPFORMAT);
00161     OLESTATUS (CALLBACK* SetColorScheme)(LPOLEOBJECT,OLE_CONST LOGPALETTE*);
00162 #ifndef SERVERONLY
00163     OLESTATUS (CALLBACK* Delete)(LPOLEOBJECT);
00164     OLESTATUS (CALLBACK* SetHostNames)(LPOLEOBJECT,OLE_LPCSTR,OLE_LPCSTR);
00165     OLESTATUS (CALLBACK* SaveToStream)(LPOLEOBJECT,LPOLESTREAM);
00166     OLESTATUS (CALLBACK* Clone)(LPOLEOBJECT,LPOLECLIENT,LHCLIENTDOC,OLE_LPCSTR,LPOLEOBJECT*);
00167     OLESTATUS (CALLBACK* CopyFromLink)(LPOLEOBJECT,LPOLECLIENT,LHCLIENTDOC,OLE_LPCSTR,LPOLEOBJECT*);
00168     OLESTATUS (CALLBACK* Equal)(LPOLEOBJECT,LPOLEOBJECT);
00169     OLESTATUS (CALLBACK* CopyToClipboard)(LPOLEOBJECT);
00170     OLESTATUS (CALLBACK* Draw)(LPOLEOBJECT,HDC,OLE_CONST RECT*,OLE_CONST RECT*,HDC);
00171     OLESTATUS (CALLBACK* Activate)(LPOLEOBJECT,UINT,BOOL,BOOL,HWND,OLE_CONST RECT*);
00172     OLESTATUS (CALLBACK* Execute)(LPOLEOBJECT,HGLOBAL,UINT);
00173     OLESTATUS (CALLBACK* Close)(LPOLEOBJECT);
00174     OLESTATUS (CALLBACK* Update)(LPOLEOBJECT);
00175     OLESTATUS (CALLBACK* Reconnect)(LPOLEOBJECT);
00176     OLESTATUS (CALLBACK* ObjectConvert)(LPOLEOBJECT,OLE_LPCSTR,LPOLECLIENT,LHCLIENTDOC,OLE_LPCSTR,LPOLEOBJECT*);
00177     OLESTATUS (CALLBACK* GetLinkUpdateOptions)(LPOLEOBJECT,OLEOPT_UPDATE*);
00178     OLESTATUS (CALLBACK* SetLinkUpdateOptions)(LPOLEOBJECT,OLEOPT_UPDATE);
00179     OLESTATUS (CALLBACK* Rename)(LPOLEOBJECT,OLE_LPCSTR);
00180     OLESTATUS (CALLBACK* QueryName)(LPOLEOBJECT,LPSTR,UINT*);
00181     OLESTATUS (CALLBACK* QueryType)(LPOLEOBJECT,LONG*);
00182     OLESTATUS (CALLBACK* QueryBounds)(LPOLEOBJECT,RECT*);
00183     OLESTATUS (CALLBACK* QuerySize)(LPOLEOBJECT,DWORD*);
00184     OLESTATUS (CALLBACK* QueryOpen)(LPOLEOBJECT);
00185     OLESTATUS (CALLBACK* QueryOutOfDate)(LPOLEOBJECT);
00186     OLESTATUS (CALLBACK* QueryReleaseStatus)(LPOLEOBJECT);
00187     OLESTATUS (CALLBACK* QueryReleaseError)(LPOLEOBJECT);
00188     OLE_RELEASE_METHOD (CALLBACK* QueryReleaseMethod)(LPOLEOBJECT);
00189     OLESTATUS (CALLBACK* RequestData)(LPOLEOBJECT,OLECLIPFORMAT);
00190     OLESTATUS (CALLBACK* ObjectLong)(LPOLEOBJECT,UINT,LONG*);
00191     OLESTATUS (CALLBACK* ChangeData)(LPOLEOBJECT,HANDLE,LPOLECLIENT,BOOL);
00192 #endif
00193 } OLEOBJECTVTBL;
00194 typedef OLEOBJECTVTBL*LPOLEOBJECTVTBL;
00195 #ifndef OLE_INTERNAL
00196 typedef struct _OLEOBJECT { LPOLEOBJECTVTBL lpvtbl; } OLEOBJECT;
00197 #endif
00198 typedef struct _OLECLIENTVTBL { int (CALLBACK* CallBack)(LPOLECLIENT,OLE_NOTIFICATION,LPOLEOBJECT); } OLECLIENTVTBL;
00199 typedef OLECLIENTVTBL *LPOLECLIENTVTBL;
00200 typedef struct _OLECLIENT { LPOLECLIENTVTBL lpvtbl; } OLECLIENT;
00201 typedef struct _OLESTREAMVTBL {
00202     DWORD (CALLBACK* Get)(LPOLESTREAM,void*,DWORD);
00203     DWORD (CALLBACK* Put)(LPOLESTREAM,OLE_CONST void*,DWORD);
00204 } OLESTREAMVTBL;
00205 typedef OLESTREAMVTBL *LPOLESTREAMVTBL;
00206 typedef struct _OLESTREAM { LPOLESTREAMVTBL lpstbl; } OLESTREAM;
00207 typedef enum {
00208     OLE_SERVER_MULTI,
00209     OLE_SERVER_SINGLE
00210 } OLE_SERVER_USE;
00211 typedef struct _OLESERVER *LPOLESERVER;
00212 typedef struct _OLESERVERDOC *LPOLESERVERDOC;
00213 typedef struct _OLESERVERVTBL {
00214     OLESTATUS (CALLBACK* Open)(LPOLESERVER,LHSERVERDOC,OLE_LPCSTR,LPOLESERVERDOC*);
00215     OLESTATUS (CALLBACK* Create)(LPOLESERVER,LHSERVERDOC,OLE_LPCSTR,OLE_LPCSTR,LPOLESERVERDOC*);
00216     OLESTATUS (CALLBACK* CreateFromTemplate)(LPOLESERVER,LHSERVERDOC,OLE_LPCSTR,OLE_LPCSTR,OLE_LPCSTR,LPOLESERVERDOC*);
00217     OLESTATUS (CALLBACK* Edit)(LPOLESERVER,LHSERVERDOC,OLE_LPCSTR,OLE_LPCSTR,LPOLESERVERDOC*);
00218     OLESTATUS (CALLBACK* Exit)(LPOLESERVER);
00219     OLESTATUS (CALLBACK* Release)(LPOLESERVER);
00220     OLESTATUS (CALLBACK* Execute)(LPOLESERVER,HGLOBAL);
00221 } OLESERVERVTBL;
00222 typedef OLESERVERVTBL *LPOLESERVERVTBL;
00223 typedef struct _OLESERVER { LPOLESERVERVTBL lpvtbl; } OLESERVER;
00224 typedef struct _OLESERVERDOCVTBL {
00225     OLESTATUS (CALLBACK* Save)(LPOLESERVERDOC);
00226     OLESTATUS (CALLBACK* Close)(LPOLESERVERDOC);
00227     OLESTATUS (CALLBACK* SetHostNames)(LPOLESERVERDOC,OLE_LPCSTR,OLE_LPCSTR);
00228     OLESTATUS (CALLBACK* SetDocDimensions)(LPOLESERVERDOC,OLE_CONST RECT*);
00229     OLESTATUS (CALLBACK* GetObject)(LPOLESERVERDOC,OLE_LPCSTR,LPOLEOBJECT*,LPOLECLIENT);
00230     OLESTATUS (CALLBACK* Release)(LPOLESERVERDOC);
00231     OLESTATUS (CALLBACK* SetColorScheme)(LPOLESERVERDOC,OLE_CONST LOGPALETTE*);
00232     OLESTATUS (CALLBACK* Execute)(LPOLESERVERDOC,HGLOBAL);
00233 } OLESERVERDOCVTBL;
00234 typedef OLESERVERDOCVTBL *LPOLESERVERDOCVTBL;
00235 typedef struct _OLESERVERDOC { LPOLESERVERDOCVTBL lpvtbl; } OLESERVERDOC;
00236 OLESTATUS WINAPI OleDelete(LPOLEOBJECT);
00237 OLESTATUS WINAPI OleRelease(LPOLEOBJECT);
00238 OLESTATUS WINAPI OleSaveToStream(LPOLEOBJECT,LPOLESTREAM);
00239 OLESTATUS WINAPI OleEqual(LPOLEOBJECT,LPOLEOBJECT );
00240 OLESTATUS WINAPI OleCopyToClipboard(LPOLEOBJECT);
00241 OLESTATUS WINAPI OleSetHostNames(LPOLEOBJECT,LPCSTR,LPCSTR);
00242 OLESTATUS WINAPI OleSetTargetDevice(LPOLEOBJECT,HGLOBAL);
00243 OLESTATUS WINAPI OleSetBounds(LPOLEOBJECT,LPCRECT);
00244 OLESTATUS WINAPI OleSetColorScheme(LPOLEOBJECT,const LOGPALETTE*);
00245 OLESTATUS WINAPI OleQueryBounds(LPOLEOBJECT,RECT*);
00246 OLESTATUS WINAPI OleQuerySize(LPOLEOBJECT,DWORD*);
00247 OLESTATUS WINAPI OleDraw(LPOLEOBJECT,HDC,LPCRECT,LPCRECT,HDC);
00248 OLESTATUS WINAPI OleQueryOpen(LPOLEOBJECT);
00249 OLESTATUS WINAPI OleActivate(LPOLEOBJECT,UINT,BOOL,BOOL,HWND,LPCRECT);
00250 OLESTATUS WINAPI OleExecute(LPOLEOBJECT,HGLOBAL,UINT);
00251 OLESTATUS WINAPI OleClose(LPOLEOBJECT);
00252 OLESTATUS WINAPI OleUpdate(LPOLEOBJECT);
00253 OLESTATUS WINAPI OleReconnect(LPOLEOBJECT);
00254 OLESTATUS WINAPI OleGetLinkUpdateOptions(LPOLEOBJECT,OLEOPT_UPDATE*);
00255 OLESTATUS WINAPI OleSetLinkUpdateOptions(LPOLEOBJECT,OLEOPT_UPDATE);
00256 WINAPI void *OleQueryProtocol(LPOLEOBJECT,LPCSTR);
00257 OLESTATUS WINAPI OleQueryReleaseStatus(LPOLEOBJECT);
00258 OLESTATUS WINAPI OleQueryReleaseError(LPOLEOBJECT);
00259 OLE_RELEASE_METHOD WINAPI OleQueryReleaseMethod(LPOLEOBJECT);
00260 OLESTATUS WINAPI OleQueryType(LPOLEOBJECT,LONG*);
00261 DWORD WINAPI OleQueryClientVersion(void);
00262 DWORD WINAPI OleQueryServerVersion(void);
00263 OLECLIPFORMAT WINAPI OleEnumFormats(LPOLEOBJECT,OLECLIPFORMAT);
00264 OLESTATUS WINAPI OleGetData(LPOLEOBJECT,OLECLIPFORMAT,HANDLE*);
00265 OLESTATUS WINAPI OleSetData(LPOLEOBJECT,OLECLIPFORMAT,HANDLE);
00266 OLESTATUS WINAPI OleQueryOutOfDate(LPOLEOBJECT);
00267 OLESTATUS WINAPI OleRequestData(LPOLEOBJECT,OLECLIPFORMAT);
00268 OLESTATUS WINAPI OleQueryLinkFromClip(LPCSTR,OLEOPT_RENDER,OLECLIPFORMAT);
00269 OLESTATUS WINAPI OleQueryCreateFromClip(LPCSTR,OLEOPT_RENDER,OLECLIPFORMAT);
00270 OLESTATUS WINAPI OleCreateFromClip(LPCSTR,LPOLECLIENT,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*,OLEOPT_RENDER,OLECLIPFORMAT);
00271 OLESTATUS WINAPI OleCreateLinkFromClip(LPCSTR,LPOLECLIENT,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*,OLEOPT_RENDER,OLECLIPFORMAT);
00272 OLESTATUS WINAPI OleCreateFromFile(LPCSTR,LPOLECLIENT,LPCSTR,LPCSTR,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*,OLEOPT_RENDER,OLECLIPFORMAT);
00273 OLESTATUS WINAPI OleCreateLinkFromFile(LPCSTR,LPOLECLIENT,LPCSTR,LPCSTR,LPCSTR,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*,OLEOPT_RENDER,OLECLIPFORMAT);
00274 OLESTATUS WINAPI OleLoadFromStream(LPOLESTREAM,LPCSTR,LPOLECLIENT,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*);
00275 OLESTATUS WINAPI OleCreate(LPCSTR,LPOLECLIENT,LPCSTR,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*,OLEOPT_RENDER,OLECLIPFORMAT);
00276 OLESTATUS WINAPI OleCreateInvisible(LPCSTR,LPOLECLIENT,LPCSTR,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*,OLEOPT_RENDER,OLECLIPFORMAT,BOOL);
00277 OLESTATUS WINAPI OleCreateFromTemplate(LPCSTR,LPOLECLIENT,LPCSTR,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*,OLEOPT_RENDER,OLECLIPFORMAT);
00278 OLESTATUS WINAPI OleClone(LPOLEOBJECT,LPOLECLIENT,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*);
00279 OLESTATUS WINAPI OleCopyFromLink(LPOLEOBJECT,LPCSTR,LPOLECLIENT,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*);
00280 OLESTATUS WINAPI OleObjectConvert(LPOLEOBJECT,LPCSTR,LPOLECLIENT,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*);
00281 OLESTATUS WINAPI OleRename(LPOLEOBJECT,LPCSTR);
00282 OLESTATUS WINAPI OleQueryName(LPOLEOBJECT,LPSTR,UINT*);
00283 OLESTATUS WINAPI OleRevokeObject(LPOLECLIENT);
00284 BOOL WINAPI OleIsDcMeta(HDC);
00285 OLESTATUS WINAPI OleRegisterClientDoc(LPCSTR,LPCSTR,LONG,LHCLIENTDOC*);
00286 OLESTATUS WINAPI OleRevokeClientDoc(LHCLIENTDOC);
00287 OLESTATUS WINAPI OleRenameClientDoc(LHCLIENTDOC,LPCSTR);
00288 OLESTATUS WINAPI OleRevertClientDoc(LHCLIENTDOC);
00289 OLESTATUS WINAPI OleSavedClientDoc(LHCLIENTDOC);
00290 OLESTATUS WINAPI OleEnumObjects(LHCLIENTDOC,LPOLEOBJECT*);
00291 OLESTATUS WINAPI OleRegisterServer(LPCSTR,LPOLESERVER,LHSERVER*,HINSTANCE,OLE_SERVER_USE);
00292 OLESTATUS WINAPI OleRevokeServer(LHSERVER);
00293 OLESTATUS WINAPI OleBlockServer(LHSERVER);
00294 OLESTATUS WINAPI OleUnblockServer(LHSERVER,BOOL*);
00295 OLESTATUS WINAPI OleLockServer(LPOLEOBJECT,LHSERVER*);
00296 OLESTATUS WINAPI OleUnlockServer(LHSERVER);
00297 OLESTATUS WINAPI OleRegisterServerDoc(LHSERVER,LPCSTR,LPOLESERVERDOC,LHSERVERDOC*);
00298 OLESTATUS WINAPI OleRevokeServerDoc(LHSERVERDOC);
00299 OLESTATUS WINAPI OleRenameServerDoc(LHSERVERDOC,LPCSTR);
00300 OLESTATUS WINAPI OleRevertServerDoc(LHSERVERDOC);
00301 OLESTATUS WINAPI OleSavedServerDoc(LHSERVERDOC);
00302 #ifdef __cplusplus
00303 }
00304 #endif
00305 #endif

Generated on Sat May 26 2012 04:30:57 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.