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

stdole2.idl
Go to the documentation of this file.
00001 /*
00002  * Copyright (C) 2003 Robert Shearman
00003  *               2005 Huw Davies
00004  *
00005  * This library is free software; you can redistribute it and/or
00006  * modify it under the terms of the GNU Lesser General Public
00007  * License as published by the Free Software Foundation; either
00008  * version 2.1 of the License, or (at your option) any later version.
00009  *
00010  * This library is distributed in the hope that it will be useful,
00011  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013  * Lesser General Public License for more details.
00014  *
00015  * You should have received a copy of the GNU Lesser General Public
00016  * License along with this library; if not, write to the Free Software
00017  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00018  *
00019  */
00020 
00021 [
00022   uuid(00020430-0000-0000-C000-000000000046),
00023   version(2.0),
00024   helpstring("OLE Automation")
00025 ]
00026 library stdole
00027 {
00028     /* typedefs aren't stored in the type library.
00029            These type names are known by the type compiler so it
00030            doesn't really matter what we define them as. */
00031 
00032     typedef short VARIANT_BOOL;
00033     typedef long BSTR;
00034     typedef double CURRENCY;
00035     typedef unsigned long HRESULT;
00036     typedef void *VARIANT;
00037     typedef unsigned long SCODE;
00038 
00039     typedef struct GUID {
00040         unsigned long  Data1;
00041         unsigned short Data2;
00042         unsigned short Data3;
00043         unsigned char  Data4[ 8 ];
00044     } GUID;
00045 
00046     typedef struct DISPPARAMS {
00047         VARIANT *rgvarg;
00048         long *rgdispidNamedArgs;
00049         unsigned int cArgs;
00050         unsigned int cNamedArgs;
00051     } DISPPARAMS;
00052 
00053     typedef struct EXCEPINFO {
00054         unsigned short wCode;
00055         unsigned short wReserved;
00056         BSTR  bstrSource;
00057         BSTR  bstrDescription;
00058         BSTR  bstrHelpFile;
00059         unsigned long dwHelpContext;
00060         void *pvReserved;
00061         void *pfnDeferredFillIn;
00062         SCODE scode;
00063     } EXCEPINFO;
00064 #ifndef __midl
00065     [
00066         odl,
00067         uuid(00000000-0000-0000-C000-000000000046),
00068         hidden
00069     ]
00070     interface IUnknown
00071     {
00072         [restricted]
00073         HRESULT QueryInterface(
00074                                [in] GUID *riid,
00075                                [out] void **ppvObj);
00076 
00077         [restricted]
00078         unsigned long AddRef();
00079 
00080         [restricted]
00081         unsigned long Release();
00082     }
00083 
00084     [
00085         odl,
00086         uuid(00020400-0000-0000-C000-000000000046),
00087         restricted
00088     ]
00089     interface IDispatch : IUnknown
00090     {
00091         [restricted]
00092         HRESULT GetTypeInfoCount(
00093                                  [out] unsigned int *pctinfo);
00094 
00095         [restricted]
00096         HRESULT GetTypeInfo(
00097                             [in] unsigned int itinfo,
00098                             [in] unsigned long lcid,
00099                             [out] void **pptinfo);
00100 
00101         [restricted]
00102         HRESULT GetIDsOfNames(
00103                               [in] GUID *riid,
00104                               [in] char **rgszNames,
00105                               [in] unsigned int cNames,
00106                               [in] unsigned long lcid,
00107                               [out] long *rgdispid);
00108 
00109         [restricted]
00110         HRESULT Invoke(
00111                        [in] long dispidMember,
00112                        [in] GUID *riid,
00113                        [in] unsigned long lcid,
00114                        [in] unsigned short wFlags,
00115                        [in] DISPPARAMS *pdispparams,
00116                        [out] VARIANT *pvarResult,
00117                        [out] EXCEPINFO *pexcepinfo,
00118                        [out] unsigned int *puArgErr);
00119 
00120     }
00121 
00122     [
00123         odl,
00124         uuid(00020404-0000-0000-C000-000000000046),
00125         hidden
00126     ]
00127     interface IEnumVARIANT : IUnknown
00128     {
00129         HRESULT Next(
00130                      [in] unsigned long celt,
00131                      [in] VARIANT *rgvar,
00132                      [out] unsigned long *pceltFetched);
00133 
00134         HRESULT Skip(
00135                      [in] unsigned long celt);
00136 
00137         HRESULT Reset();
00138 
00139         HRESULT Clone(
00140                       [out] IEnumVARIANT **ppenum);
00141     }
00142 #endif /* !__midl */
00143     typedef [uuid(66504301-BE0F-101A-8BBB-00AA00300CAB), public]
00144         unsigned long OLE_COLOR;
00145 
00146     typedef [uuid(66504302-BE0F-101A-8BBB-00AA00300CAB), public]
00147         long OLE_XPOS_PIXELS;
00148 
00149     typedef [uuid(66504303-BE0F-101A-8BBB-00AA00300CAB), public]
00150         long OLE_YPOS_PIXELS;
00151 
00152     typedef [uuid(66504304-BE0F-101A-8BBB-00AA00300CAB), public]
00153         long OLE_XSIZE_PIXELS;
00154 
00155     typedef [uuid(66504305-BE0F-101A-8BBB-00AA00300CAB), public]
00156         long OLE_YSIZE_PIXELS;
00157 
00158     typedef [uuid(66504306-BE0F-101A-8BBB-00AA00300CAB), public]
00159         long OLE_XPOS_HIMETRIC;
00160 
00161     typedef [uuid(66504307-BE0F-101A-8BBB-00AA00300CAB), public]
00162         long OLE_YPOS_HIMETRIC;
00163 
00164     typedef [uuid(66504308-BE0F-101A-8BBB-00AA00300CAB), public]
00165         long OLE_XSIZE_HIMETRIC;
00166 
00167     typedef [uuid(66504309-BE0F-101A-8BBB-00AA00300CAB), public]
00168         long OLE_YSIZE_HIMETRIC;
00169 
00170     typedef [uuid(BF030640-9069-101B-AE2D-08002B2EC713), public]
00171         float OLE_XPOS_CONTAINER;
00172 
00173     typedef [uuid(BF030641-9069-101B-AE2D-08002B2EC713), public]
00174         float OLE_YPOS_CONTAINER;
00175 
00176     typedef [uuid(BF030642-9069-101B-AE2D-08002B2EC713), public]
00177         float OLE_XSIZE_CONTAINER;
00178 
00179     typedef [uuid(BF030643-9069-101B-AE2D-08002B2EC713), public]
00180         float OLE_YSIZE_CONTAINER;
00181 
00182     typedef [uuid(66504313-BE0F-101A-8BBB-00AA00300CAB), public]
00183         int OLE_HANDLE;
00184 
00185     typedef [uuid(6650430B-BE0F-101A-8BBB-00AA00300CAB), public]
00186         VARIANT_BOOL OLE_OPTEXCLUSIVE;
00187 
00188     typedef [uuid(BF030644-9069-101B-AE2D-08002B2EC713), public]
00189         VARIANT_BOOL OLE_CANCELBOOL;
00190 
00191     typedef [uuid(BF030645-9069-101B-AE2D-08002B2EC713), public]
00192         VARIANT_BOOL OLE_ENABLEDEFAULTBOOL;
00193 
00194     [
00195      uuid(6650430A-BE0F-101A-8BBB-00AA00300CAB)
00196     ]
00197     enum OLE_TRISTATE {
00198         Unchecked = 0,
00199         Checked = 1,
00200         Gray = 2
00201     };
00202 
00203     typedef [uuid(6650430D-BE0F-101A-8BBB-00AA00300CAB), public]
00204         BSTR FONTNAME;
00205 
00206     typedef [uuid(6650430E-BE0F-101A-8BBB-00AA00300CAB), public]
00207         CURRENCY FONTSIZE;
00208 
00209     typedef [uuid(6650430F-BE0F-101A-8BBB-00AA00300CAB), public]
00210         VARIANT_BOOL FONTBOLD;
00211 
00212     typedef [uuid(66504310-BE0F-101A-8BBB-00AA00300CAB), public]
00213         VARIANT_BOOL FONTITALIC;
00214 
00215     typedef [uuid(66504311-BE0F-101A-8BBB-00AA00300CAB), public]
00216         VARIANT_BOOL FONTUNDERSCORE;
00217 
00218     typedef [uuid(66504312-BE0F-101A-8BBB-00AA00300CAB), public]
00219         VARIANT_BOOL FONTSTRIKETHROUGH;
00220 
00221 
00222     [
00223      odl,
00224      uuid(BEF6E002-A874-101A-8BBA-00AA00300CAB),
00225      helpstring("Font Object"),
00226      hidden
00227     ]
00228     interface IFont : IUnknown {
00229         [propget] HRESULT Name([out, retval] BSTR *pname);
00230         [propput] HRESULT Name([in] BSTR pname);
00231 
00232         [propget] HRESULT Size([out, retval] CURRENCY *psize);
00233         [propput] HRESULT Size([in] CURRENCY psize);
00234 
00235         [propget] HRESULT Bold([out, retval] VARIANT_BOOL *pbold);
00236         [propput] HRESULT Bold([in] VARIANT_BOOL pbold);
00237 
00238         [propget] HRESULT Italic([out, retval] VARIANT_BOOL *pitalic);
00239         [propput] HRESULT Italic([in] VARIANT_BOOL pitalic);
00240 
00241         [propget] HRESULT Underline([out, retval] VARIANT_BOOL *punderline);
00242         [propput] HRESULT Underline([in] VARIANT_BOOL punderline);
00243 
00244         [propget] HRESULT Strikethrough([out, retval] VARIANT_BOOL *pstrikethrough);
00245         [propput] HRESULT Strikethrough([in] VARIANT_BOOL pstrikethrough);
00246 
00247         [propget] HRESULT Weight([out, retval] short *pweight);
00248         [propput] HRESULT Weight([in] short pweight);
00249 
00250         [propget] HRESULT Charset([out, retval] short *pcharset);
00251         [propput] HRESULT Charset([in] short pcharset);
00252 
00253         [propget] HRESULT hFont([out, retval] OLE_HANDLE *phfont);
00254         
00255         HRESULT Clone([out] IFont **ppfont);
00256 
00257         HRESULT IsEqual([in] IFont *pfontOther);
00258 
00259         HRESULT SetRatio([in] long cyLogical, [in] long cyHimetric);
00260 
00261         HRESULT AddRefHfont([in] OLE_HANDLE hFont);
00262 
00263         HRESULT ReleaseHfont([in] OLE_HANDLE hFont);
00264     };
00265 
00266 
00267     [
00268      odl,
00269      uuid(BEF6E003-A874-101A-8BBA-00AA00300CAB)
00270     ]
00271     dispinterface Font {
00272     properties:
00273         [id(0x0)] BSTR Name;
00274         [id(0x2)] CURRENCY Size;
00275         [id(0x3)] VARIANT_BOOL Bold;
00276         [id(0x4)] VARIANT_BOOL Italic;
00277         [id(0x5)] VARIANT_BOOL Underline;
00278         [id(0x6)] VARIANT_BOOL Strikethrough;
00279         [id(0x7)] short Weight;
00280         [id(0x8)] short Charset;
00281     methods:
00282     }
00283 
00284     typedef [public] Font IFontDisp;
00285 
00286     [
00287      uuid(0BE35203-8F91-11CE-9DE3-00AA004BB851)
00288     ]
00289     coclass StdFont {
00290         [default] dispinterface Font;
00291         /* FIXME: We can't reference dispinterface FontEvents here because we need it to
00292            appear at the end of the typelib. */
00293 /*      [default, source] dispinterface FontEvents;*/
00294         interface IFont;
00295     };
00296 
00297     [
00298      odl,
00299      uuid(7BF80980-BF32-101A-8BBB-00AA00300CAB),
00300      helpstring("Picture Object"),
00301      hidden
00302     ]
00303     interface IPicture : IUnknown {
00304         [propget] HRESULT Handle([out, retval] OLE_HANDLE *phandle);
00305 
00306         [propget] HRESULT hPal([out, retval] OLE_HANDLE *phpal);
00307         
00308         [propget] HRESULT Type([out, retval] short *ptype);
00309 
00310         [propget] HRESULT Width([out, retval] OLE_XSIZE_HIMETRIC *pwidth);
00311 
00312         [propget] HRESULT Height([out, retval] OLE_YSIZE_HIMETRIC *pheight);
00313 
00314         HRESULT Render([in] int hdc,
00315                        [in] long x,
00316                        [in] long y,
00317                        [in] long cx,
00318                        [in] long cy,
00319                        [in] OLE_XPOS_HIMETRIC xSrc,
00320                        [in] OLE_YPOS_HIMETRIC ySrc,
00321                        [in] OLE_XSIZE_HIMETRIC cxSrc,
00322                        [in] OLE_YSIZE_HIMETRIC cySrc,
00323                        [in] void *prcWBounds);
00324 
00325         [propput] HRESULT hPal([in] OLE_HANDLE phpal);
00326 
00327         [propget] HRESULT CurDC([out, retval] int *phdcOut);
00328 
00329         HRESULT SelectPicture([in] int hdcIn,
00330                               [out] int *phdcOut,
00331                               [out] OLE_HANDLE *phbmpOut);
00332         
00333         [propget] HRESULT KeepOriginalFormat([out, retval] VARIANT_BOOL *pfkeep);
00334         [propput] HRESULT KeepOriginalFormat([in] VARIANT_BOOL pfkeep);
00335 
00336         HRESULT PictureChanged();
00337 
00338         HRESULT SaveAsFile([in] void *pstm,
00339                            [in] VARIANT_BOOL fSaveMemCopy,
00340                            [out] long *pcbSize);
00341 
00342         [propget] HRESULT Attributes([out, retval] long *pdwAttr);
00343 
00344         HRESULT SetHdc([in] OLE_HANDLE hdc);
00345     };
00346 
00347     [
00348      uuid(7BF80981-BF32-101A-8BBB-00AA00300CAB)
00349     ]
00350     dispinterface Picture {
00351     properties:
00352         [id(0x0), readonly] OLE_HANDLE Handle;
00353         [id(0x2)] OLE_HANDLE hPal;
00354         [id(0x3), readonly] short Type; 
00355         [id(0x4), readonly] OLE_XSIZE_HIMETRIC Width;
00356         [id(0x5), readonly] OLE_YSIZE_HIMETRIC Height;
00357     methods:
00358         [id(0x6)] void Render(int hdc,
00359                               long x,
00360                               long y,
00361                               long cx,
00362                               long cy,
00363                               OLE_XPOS_HIMETRIC xSrc,
00364                               OLE_YPOS_HIMETRIC ySrc,
00365                               OLE_XSIZE_HIMETRIC cxSrc,
00366                               OLE_YSIZE_HIMETRIC cySrc,
00367                               void *prcWBounds);
00368     };
00369     
00370     typedef [public] Picture IPictureDisp;
00371 
00372     [
00373      uuid(0BE35204-8F91-11CE-9DE3-00AA004BB851)
00374     ]
00375     coclass StdPicture {
00376         [default] dispinterface Picture;
00377         interface IPicture;
00378     };
00379 
00380     [
00381      uuid(E6C8FA08-BD9F-11D0-985E-00C04FC29993)
00382     ]
00383     enum LoadPictureConstants {
00384         Default = 0,
00385         Monochrome = 1,
00386         VgaColor = 2,
00387         Color = 4
00388     };
00389 
00390     [
00391      dllname("oleaut32.dll"),
00392      uuid(91209AC0-60F6-11CF-9C5D-00AA00C1489E),
00393      helpstring("Functions for Standard OLE Objects"),
00394      helpcontext(0x2775)
00395     ]
00396     module StdFunctions{
00397         [
00398          entry("OleLoadPictureFileEx"),
00399          helpstring("Loads a picture from a file"),
00400          helpcontext(0x2775)
00401         ]
00402         HRESULT LoadPicture([in, optional] VARIANT filename,
00403                             [in, optional, defaultvalue(0)] int widthDesired,
00404                             [in, optional, defaultvalue(0)] int heightDesired,
00405                             [in, optional, defaultvalue(Default)] enum LoadPictureConstants flags,
00406                             [out, retval] IPictureDisp **retval);
00407         [
00408          entry("OleSavePictureFile"),
00409          helpstring("Saves a picture to a file"),
00410          helpcontext(0x2775)
00411         ]
00412         HRESULT SavePicture([in] IPictureDisp *Picture,
00413                             [in] BSTR filename);
00414     };
00415 
00416 
00417     [
00418      uuid(4EF6100A-AF88-11D0-9846-00C04FC29993),
00419      helpstring("Event Interface for the Font Object"),
00420      hidden
00421     ]
00422     dispinterface FontEvents {
00423     properties:
00424     methods:
00425         [id(0x9)] void FontChanged([in] BSTR PropertyName);
00426     };
00427 
00428     typedef [public] FontEvents IFontEventsDisp;
00429 
00430 
00431 };

Generated on Sat May 26 2012 04:31:12 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.