|
|
1.1 ! root 1: /************************************************************************* ! 2: ** ! 3: ** OLE 2.0 Standard Utilities ! 4: ** ! 5: ** olestd.h ! 6: ** ! 7: ** This file contains file contains data structure defintions, ! 8: ** function prototypes, constants, etc. for the common OLE 2.0 ! 9: ** utilities. ! 10: ** These utilities include the following: ! 11: ** Debuging Assert/Verify macros ! 12: ** HIMETRIC conversion routines ! 13: ** reference counting debug support ! 14: ** OleStd API's for common compound-document app support ! 15: ** ! 16: ** (c) Copyright Microsoft Corp. 1990 - 1992 All Rights Reserved ! 17: ** ! 18: *************************************************************************/ ! 19: ! 20: #if !defined( _OLESTD_H_ ) ! 21: #define _OLESTD_H_ ! 22: ! 23: #ifndef RC_INVOKED ! 24: #pragma message ("INCLUDING OLESTD.H from " __FILE__) ! 25: #endif /* RC_INVOKED */ ! 26: ! 27: #if defined( __TURBOC__ ) || defined( WIN32 ) ! 28: #define _based(a) ! 29: #endif ! 30: ! 31: #ifndef RC_INVOKED ! 32: #include <dos.h> // needed for filetime ! 33: #endif /* RC_INVOKED */ ! 34: ! 35: #include <commdlg.h> // needed for LPPRINTDLG ! 36: ! 37: // String table defines... ! 38: #define IDS_OLESTDNOCREATEFILE 700 ! 39: #define IDS_OLESTDNOOPENFILE 701 ! 40: #define IDS_OLESTDDISKFULL 702 ! 41: ! 42: ! 43: /* ! 44: * Some C interface declaration stuff ! 45: */ ! 46: ! 47: #if ! defined(__cplusplus) ! 48: typedef struct tagINTERFACEIMPL { ! 49: IUnknownVtbl FAR* lpVtbl; ! 50: LPVOID lpBack; ! 51: int cRef; // interface specific ref count. ! 52: } INTERFACEIMPL, FAR* LPINTERFACEIMPL; ! 53: ! 54: #define INIT_INTERFACEIMPL(lpIFace, pVtbl, pBack) \ ! 55: ((lpIFace)->lpVtbl = pVtbl, \ ! 56: ((LPINTERFACEIMPL)(lpIFace))->lpBack = (LPVOID)pBack, \ ! 57: ((LPINTERFACEIMPL)(lpIFace))->cRef = 0 \ ! 58: ) ! 59: ! 60: #if defined( _DEBUG ) ! 61: #define OleDbgQueryInterfaceMethod(lpUnk) \ ! 62: ((lpUnk) != NULL ? ((LPINTERFACEIMPL)(lpUnk))->cRef++ : 0) ! 63: #define OleDbgAddRefMethod(lpThis, iface) \ ! 64: ((LPINTERFACEIMPL)(lpThis))->cRef++ ! 65: ! 66: #if _DEBUGLEVEL >= 2 ! 67: #define OleDbgReleaseMethod(lpThis, iface) \ ! 68: (--((LPINTERFACEIMPL)(lpThis))->cRef == 0 ? \ ! 69: OleDbgOut("\t" iface "* RELEASED (cRef == 0)\r\n"),1 : \ ! 70: (((LPINTERFACEIMPL)(lpThis))->cRef < 0) ? \ ! 71: ( \ ! 72: DebugBreak(), \ ! 73: OleDbgOut( \ ! 74: "\tERROR: " iface "* RELEASED TOO MANY TIMES\r\n") \ ! 75: ),1 : \ ! 76: 1) ! 77: ! 78: #else // if _DEBUGLEVEL < 2 ! 79: #define OleDbgReleaseMethod(lpThis, iface) \ ! 80: (--((LPINTERFACEIMPL)(lpThis))->cRef == 0 ? \ ! 81: 1 : \ ! 82: (((LPINTERFACEIMPL)(lpThis))->cRef < 0) ? \ ! 83: ( \ ! 84: OleDbgOut( \ ! 85: "\tERROR: " iface "* RELEASED TOO MANY TIMES\r\n") \ ! 86: ),1 : \ ! 87: 1) ! 88: ! 89: #endif // if _DEBUGLEVEL < 2 ! 90: ! 91: #else // ! defined (_DEBUG) ! 92: ! 93: #define OleDbgQueryInterfaceMethod(lpUnk) ! 94: #define OleDbgAddRefMethod(lpThis, iface) ! 95: #define OleDbgReleaseMethod(lpThis, iface) ! 96: ! 97: #endif // if defined( _DEBUG ) ! 98: ! 99: #endif // ! defined(__cplusplus) ! 100: ! 101: /* ! 102: * Some docfiles stuff ! 103: */ ! 104: ! 105: #define STGM_DFRALL (STGM_READWRITE | STGM_TRANSACTED | STGM_SHARE_DENY_WRITE) ! 106: #define STGM_DFALL (STGM_READWRITE | STGM_TRANSACTED | STGM_SHARE_EXCLUSIVE) ! 107: #define STGM_SALL (STGM_READWRITE | STGM_SHARE_EXCLUSIVE) ! 108: ! 109: /* ! 110: * Some moniker stuff ! 111: */ ! 112: ! 113: // Delimeter used to separate ItemMoniker pieces of a composite moniker ! 114: #if defined( _MAC ) ! 115: #define OLESTDDELIM ":" ! 116: #else ! 117: #define OLESTDDELIM "\\" ! 118: #endif ! 119: ! 120: /* ! 121: * Some Concurrency stuff ! 122: */ ! 123: ! 124: /* standard Delay (in msec) to wait before retrying an LRPC call. ! 125: ** this value is returned from IMessageFilter::RetryRejectedCall ! 126: */ ! 127: #define OLESTDRETRYDELAY (DWORD)5000 ! 128: ! 129: /* Cancel the pending outgoing LRPC call. ! 130: ** this value is returned from IMessageFilter::RetryRejectedCall ! 131: */ ! 132: #define OLESTDCANCELRETRY (DWORD)-1 ! 133: ! 134: /* ! 135: * Some Clipboard Copy/Paste & Drag/Drop support stuff ! 136: */ ! 137: ! 138: //Macro to set all FormatEtc fields ! 139: #define SETFORMATETC(fe, cf, asp, td, med, li) \ ! 140: ((fe).cfFormat=cf, \ ! 141: (fe).dwAspect=asp, \ ! 142: (fe).ptd=td, \ ! 143: (fe).tymed=med, \ ! 144: (fe).lindex=li) ! 145: ! 146: //Macro to set interesting FormatEtc fields defaulting the others. ! 147: #define SETDEFAULTFORMATETC(fe, cf, med) \ ! 148: ((fe).cfFormat=cf, \ ! 149: (fe).dwAspect=DVASPECT_CONTENT, \ ! 150: (fe).ptd=NULL, \ ! 151: (fe).tymed=med, \ ! 152: (fe).lindex=-1) ! 153: ! 154: // Macro to test if two FormatEtc structures match ! 155: #define IsEqualFORMATETC(fe1, fe2) \ ! 156: ((fe1).cfFormat == (fe2).cfFormat \ ! 157: && ((fe1).tymed & (fe2).tymed) \ ! 158: && (!(fe1).dwAspect||!(fe2).dwAspect||((fe1).dwAspect&(fe2).dwAspect)) \ ! 159: && (fe1).ptd == (fe2).ptd) ! 160: ! 161: // Clipboard format strings ! 162: #define CF_EMBEDSOURCE "Embed Source" ! 163: #define CF_EMBEDDEDOBJECT "Embedded Object" ! 164: #define CF_LINKSOURCE "Link Source" ! 165: #define CF_OBJECTDESCRIPTOR "Object Descriptor" ! 166: #define CF_LINKSRCDESCRIPTOR "Link Source Descriptor" ! 167: #define CF_OWNERLINK "OwnerLink" ! 168: #define CF_FILENAME "FileName" ! 169: ! 170: /* The OLEUIPASTEFLAG enumeration is used by the OLEUIPASTEENTRY structure. ! 171: * ! 172: * OLEUIPASTE_ENABLEICON If the container does not specify this flag for the entry in the ! 173: * OLEUIPASTEENTRY array passed as input to OleUIPasteSpecial, the DisplayAsIcon button will be ! 174: * unchecked and disabled when the the user selects the format that corresponds to the entry. ! 175: * ! 176: * OLEUIPASTE_PASTEONLY Indicates that the entry in the OLEUIPASTEENTRY array is valid for pasting only. ! 177: * OLEUIPASTE_PASTE Indicates that the entry in the OLEUIPASTEENTRY array is valid for pasting. It ! 178: * may also be valid for linking if any of the following linking flags are specified. ! 179: * ! 180: * If the entry in the OLEUIPASTEENTRY array is valid for linking, the following flags indicate which link ! 181: * types are acceptable by OR'ing together the appropriate OLEUIPASTE_LINKTYPE<#> values. ! 182: * These values correspond as follows to the array of link types passed to OleUIPasteSpecial: ! 183: * OLEUIPASTE_LINKTYPE1=arrLinkTypes[0] ! 184: * OLEUIPASTE_LINKTYPE2=arrLinkTypes[1] ! 185: * OLEUIPASTE_LINKTYPE3=arrLinkTypes[2] ! 186: * OLEUIPASTE_LINKTYPE4=arrLinkTypes[3] ! 187: * OLEUIPASTE_LINKTYPE5=arrLinkTypes[4] ! 188: * OLEUIPASTE_LINKTYPE6=arrLinkTypes[5] ! 189: * OLEUIPASTE_LINKTYPE7=arrLinkTypes[6] ! 190: * OLEUIPASTE_LINKTYPE8=arrLinkTypes[7] ! 191: * ! 192: * where, ! 193: * UINT arrLinkTypes[8] is an array of registered clipboard formats for linking. A maximium of 8 link ! 194: * types are allowed. ! 195: */ ! 196: ! 197: typedef enum tagOLEUIPASTEFLAG ! 198: { ! 199: OLEUIPASTE_ENABLEICON = 2048, // enable display as icon ! 200: OLEUIPASTE_PASTEONLY = 0, ! 201: OLEUIPASTE_PASTE = 512, ! 202: OLEUIPASTE_LINKANYTYPE = 1024, ! 203: OLEUIPASTE_LINKTYPE1 = 1, ! 204: OLEUIPASTE_LINKTYPE2 = 2, ! 205: OLEUIPASTE_LINKTYPE3 = 4, ! 206: OLEUIPASTE_LINKTYPE4 = 8, ! 207: OLEUIPASTE_LINKTYPE5 = 16, ! 208: OLEUIPASTE_LINKTYPE6 = 32, ! 209: OLEUIPASTE_LINKTYPE7 = 64, ! 210: OLEUIPASTE_LINKTYPE8 = 128 ! 211: } OLEUIPASTEFLAG; ! 212: ! 213: /* ! 214: * PasteEntry structure ! 215: * -------------------- ! 216: * An array of OLEUIPASTEENTRY entries is specified for the PasteSpecial dialog ! 217: * box. Each entry includes a FORMATETC which specifies the formats that are ! 218: * acceptable, a string that is to represent the format in the dialog's list ! 219: * box, a string to customize the result text of the dialog and a set of flags ! 220: * from the OLEUIPASTEFLAG enumeration. The flags indicate if the entry is ! 221: * valid for pasting only, linking only or both pasting and linking. If the ! 222: * entry is valid for linking, the flags indicate which link types are ! 223: * acceptable by OR'ing together the appropriate OLEUIPASTE_LINKTYPE<#> values. ! 224: * These values correspond to the array of link types as follows: ! 225: * OLEUIPASTE_LINKTYPE1=arrLinkTypes[0] ! 226: * OLEUIPASTE_LINKTYPE2=arrLinkTypes[1] ! 227: * OLEUIPASTE_LINKTYPE3=arrLinkTypes[2] ! 228: * OLEUIPASTE_LINKTYPE4=arrLinkTypes[3] ! 229: * OLEUIPASTE_LINKTYPE5=arrLinkTypes[4] ! 230: * OLEUIPASTE_LINKTYPE6=arrLinkTypes[5] ! 231: * OLEUIPASTE_LINKTYPE7=arrLinkTypes[6] ! 232: * OLEUIPASTE_LINKTYPE8=arrLinkTypes[7] ! 233: * UINT arrLinkTypes[8]; is an array of registered clipboard formats ! 234: * for linking. A maximium of 8 link types are allowed. ! 235: */ ! 236: ! 237: typedef struct tagOLEUIPASTEENTRY ! 238: { ! 239: FORMATETC fmtetc; // Format that is acceptable. The paste ! 240: // dialog checks if this format is ! 241: // offered by the object on the ! 242: // clipboard and if so offers it for ! 243: // selection to the user. ! 244: LPCSTR lpstrFormatName; // String that represents the format to the user. Any %s ! 245: // in this string is replaced by the FullUserTypeName ! 246: // of the object on the clipboard and the resulting string ! 247: // is placed in the list box of the dialog. Atmost ! 248: // one %s is allowed. The presence or absence of %s indicates ! 249: // if the result text is to indicate that data is ! 250: // being pasted or that an object that can be activated by ! 251: // an application is being pasted. If %s is ! 252: // present, the result-text says that an object is being pasted. ! 253: // Otherwise it says that data is being pasted. ! 254: LPCSTR lpstrResultText; // String to customize the result text of the dialog when ! 255: // the user selects the format correspoding to this ! 256: // entry. Any %s in this string is replaced by the the application ! 257: // name or FullUserTypeName of the object on ! 258: // the clipboard. Atmost one %s is allowed. ! 259: DWORD dwFlags; // Values from OLEUIPASTEFLAG enum ! 260: DWORD dwScratchSpace; // Scratch space available to be used ! 261: // by routines which loop through an ! 262: // IEnumFORMATETC* to mark if the ! 263: // PasteEntry format is available. ! 264: // this field CAN be left uninitialized. ! 265: } OLEUIPASTEENTRY, *POLEUIPASTEENTRY, FAR *LPOLEUIPASTEENTRY; ! 266: ! 267: #define OLESTDDROP_NONE 0 ! 268: #define OLESTDDROP_DEFAULT 1 ! 269: #define OLESTDDROP_NONDEFAULT 2 ! 270: ! 271: ! 272: /* ! 273: * Some misc stuff ! 274: */ ! 275: ! 276: #define EMBEDDINGFLAG "Embedding" // Cmd line switch for launching a srvr ! 277: ! 278: #define HIMETRIC_PER_INCH 2540 // number HIMETRIC units per inch ! 279: #define PTS_PER_INCH 72 // number points (font size) per inch ! 280: ! 281: #define MAP_PIX_TO_LOGHIM(x,ppli) MulDiv(HIMETRIC_PER_INCH, (x), (ppli)) ! 282: #define MAP_LOGHIM_TO_PIX(x,ppli) MulDiv((ppli), (x), HIMETRIC_PER_INCH) ! 283: ! 284: ! 285: /****** DEBUG Stuff *****************************************************/ ! 286: ! 287: #ifdef _DEBUG ! 288: ! 289: #if !defined( _DBGTRACE ) ! 290: #define _DEBUGLEVEL 2 ! 291: #else ! 292: #define _DEBUGLEVEL _DBGTRACE ! 293: #endif ! 294: ! 295: #if defined( NOASSERT ) ! 296: ! 297: #define OLEDBGASSERTDATA ! 298: #define OleDbgAssert(a) ! 299: #define OleDbgAssertSz(a, b) ! 300: #define OleDbgVerify(a) ! 301: #define OleDbgVerifySz(a, b) ! 302: ! 303: #else // ! NOASSERT ! 304: ! 305: #define OLEDBGASSERTDATA \ ! 306: static char _based(_segname("_CODE")) _szAssertFile[]= __FILE__; ! 307: ! 308: #define OleDbgAssert(a) \ ! 309: (!(a) ? FnAssert(#a, NULL, _szAssertFile, __LINE__) : (HRESULT)1) ! 310: ! 311: #define OleDbgAssertSz(a, b) \ ! 312: (!(a) ? FnAssert(#a, b, _szAssertFile, __LINE__) : (HRESULT)1) ! 313: ! 314: #define OleDbgVerify(a) \ ! 315: OleDbgAssert(a) ! 316: ! 317: #define OleDbgVerifySz(a, b) \ ! 318: OleDbgAssertSz(a, b) ! 319: ! 320: #endif // ! NOASSERT ! 321: ! 322: ! 323: #define OLEDBGDATA_MAIN(szPrefix) \ ! 324: char near g_szDbgPrefix[] = szPrefix; \ ! 325: OLEDBGASSERTDATA ! 326: ! 327: #define OLEDBGDATA \ ! 328: extern char near g_szDbgPrefix[]; \ ! 329: OLEDBGASSERTDATA ! 330: ! 331: #define OLEDBG_BEGIN(lpsz) \ ! 332: OleDbgPrintAlways(g_szDbgPrefix,lpsz,1); ! 333: ! 334: #define OLEDBG_END \ ! 335: OleDbgPrintAlways(g_szDbgPrefix,"End\r\n",-1); ! 336: ! 337: #define OleDbgOut(lpsz) \ ! 338: OleDbgPrintAlways(g_szDbgPrefix,lpsz,0) ! 339: ! 340: #define OleDbgOutNoPrefix(lpsz) \ ! 341: OleDbgPrint("",lpsz,0) ! 342: ! 343: #define OleDbgOutRefCnt(lpsz,lpObj,refcnt) \ ! 344: OleDbgPrintRefCntAlways(g_szDbgPrefix,lpsz,lpObj,(ULONG)refcnt) ! 345: ! 346: #define OleDbgOutRect(lpsz,lpRect) \ ! 347: OleDbgPrintRectAlways(g_szDbgPrefix,lpsz,lpRect) ! 348: ! 349: #define OleDbgOutHResult(lpsz,hr) \ ! 350: OleDbgPrintScodeAlways(g_szDbgPrefix,lpsz,GetScode(hr)) ! 351: ! 352: #define OleDbgOutScode(lpsz,sc) \ ! 353: OleDbgPrintScodeAlways(g_szDbgPrefix,lpsz,sc) ! 354: ! 355: #define OleDbgOut1(lpsz) \ ! 356: OleDbgPrint(1,g_szDbgPrefix,lpsz,0) ! 357: ! 358: #define OleDbgOutNoPrefix1(lpsz) \ ! 359: OleDbgPrint(1,"",lpsz,0) ! 360: ! 361: #define OLEDBG_BEGIN1(lpsz) \ ! 362: OleDbgPrint(1,g_szDbgPrefix,lpsz,1); ! 363: ! 364: #define OLEDBG_END1 \ ! 365: OleDbgPrint(1,g_szDbgPrefix,"End\r\n",-1); ! 366: ! 367: #define OleDbgOutRefCnt1(lpsz,lpObj,refcnt) \ ! 368: OleDbgPrintRefCnt(1,g_szDbgPrefix,lpsz,lpObj,(ULONG)refcnt) ! 369: ! 370: #define OleDbgOutRect1(lpsz,lpRect) \ ! 371: OleDbgPrintRect(1,g_szDbgPrefix,lpsz,lpRect) ! 372: ! 373: #define OleDbgOut2(lpsz) \ ! 374: OleDbgPrint(2,g_szDbgPrefix,lpsz,0) ! 375: ! 376: #define OleDbgOutNoPrefix2(lpsz) \ ! 377: OleDbgPrint(2,"",lpsz,0) ! 378: ! 379: #define OLEDBG_BEGIN2(lpsz) \ ! 380: OleDbgPrint(2,g_szDbgPrefix,lpsz,1); ! 381: ! 382: #define OLEDBG_END2 \ ! 383: OleDbgPrint(2,g_szDbgPrefix,"End\r\n",-1); ! 384: ! 385: #define OleDbgOutRefCnt2(lpsz,lpObj,refcnt) \ ! 386: OleDbgPrintRefCnt(2,g_szDbgPrefix,lpsz,lpObj,(ULONG)refcnt) ! 387: ! 388: #define OleDbgOutRect2(lpsz,lpRect) \ ! 389: OleDbgPrintRect(2,g_szDbgPrefix,lpsz,lpRect) ! 390: ! 391: #define OleDbgOut3(lpsz) \ ! 392: OleDbgPrint(3,g_szDbgPrefix,lpsz,0) ! 393: ! 394: #define OleDbgOutNoPrefix3(lpsz) \ ! 395: OleDbgPrint(3,"",lpsz,0) ! 396: ! 397: #define OLEDBG_BEGIN3(lpsz) \ ! 398: OleDbgPrint(3,g_szDbgPrefix,lpsz,1); ! 399: ! 400: #define OLEDBG_END3 \ ! 401: OleDbgPrint(3,g_szDbgPrefix,"End\r\n",-1); ! 402: ! 403: #define OleDbgOutRefCnt3(lpsz,lpObj,refcnt) \ ! 404: OleDbgPrintRefCnt(3,g_szDbgPrefix,lpsz,lpObj,(ULONG)refcnt) ! 405: ! 406: #define OleDbgOutRect3(lpsz,lpRect) \ ! 407: OleDbgPrintRect(3,g_szDbgPrefix,lpsz,lpRect) ! 408: ! 409: #define OleDbgOut4(lpsz) \ ! 410: OleDbgPrint(4,g_szDbgPrefix,lpsz,0) ! 411: ! 412: #define OleDbgOutNoPrefix4(lpsz) \ ! 413: OleDbgPrint(4,"",lpsz,0) ! 414: ! 415: #define OLEDBG_BEGIN4(lpsz) \ ! 416: OleDbgPrint(4,g_szDbgPrefix,lpsz,1); ! 417: ! 418: #define OLEDBG_END4 \ ! 419: OleDbgPrint(4,g_szDbgPrefix,"End\r\n",-1); ! 420: ! 421: #define OleDbgOutRefCnt4(lpsz,lpObj,refcnt) \ ! 422: OleDbgPrintRefCnt(4,g_szDbgPrefix,lpsz,lpObj,(ULONG)refcnt) ! 423: ! 424: #define OleDbgOutRect4(lpsz,lpRect) \ ! 425: OleDbgPrintRect(4,g_szDbgPrefix,lpsz,lpRect) ! 426: ! 427: #else // !_DEBUG ! 428: ! 429: #define OLEDBGDATA_MAIN(szPrefix) ! 430: #define OLEDBGDATA ! 431: #define OleDbgAssert(a) ! 432: #define OleDbgAssertSz(a, b) ! 433: #define OleDbgVerify(a) (a) ! 434: #define OleDbgVerifySz(a, b) (a) ! 435: #define OleDbgOutHResult(lpsz,hr) ! 436: #define OleDbgOutScode(lpsz,sc) ! 437: #define OLEDBG_BEGIN ! 438: #define OLEDBG_END ! 439: #define OleDbgOut(lpsz) ! 440: #define OleDbgOut1(lpsz) ! 441: #define OleDbgOut2(lpsz) ! 442: #define OleDbgOut3(lpsz) ! 443: #define OleDbgOut4(lpsz) ! 444: #define OleDbgOutNoPrefix(lpsz) ! 445: #define OleDbgOutNoPrefix1(lpsz) ! 446: #define OleDbgOutNoPrefix2(lpsz) ! 447: #define OleDbgOutNoPrefix3(lpsz) ! 448: #define OleDbgOutNoPrefix4(lpsz) ! 449: #define OLEDBG_BEGIN1(lpsz) ! 450: #define OLEDBG_BEGIN2(lpsz) ! 451: #define OLEDBG_BEGIN3(lpsz) ! 452: #define OLEDBG_BEGIN4(lpsz) ! 453: #define OLEDBG_END1 ! 454: #define OLEDBG_END2 ! 455: #define OLEDBG_END3 ! 456: #define OLEDBG_END4 ! 457: #define OleDbgOutRefCnt(lpsz,lpObj,refcnt) ! 458: #define OleDbgOutRefCnt1(lpsz,lpObj,refcnt) ! 459: #define OleDbgOutRefCnt2(lpsz,lpObj,refcnt) ! 460: #define OleDbgOutRefCnt3(lpsz,lpObj,refcnt) ! 461: #define OleDbgOutRefCnt4(lpsz,lpObj,refcnt) ! 462: #define OleDbgOutRect(lpsz,lpRect) ! 463: #define OleDbgOutRect1(lpsz,lpRect) ! 464: #define OleDbgOutRect2(lpsz,lpRect) ! 465: #define OleDbgOutRect3(lpsz,lpRect) ! 466: #define OleDbgOutRect4(lpsz,lpRect) ! 467: ! 468: #endif // _DEBUG ! 469: ! 470: ! 471: //Function prototypes ! 472: ! 473: //OLESTD.C ! 474: STDAPI_(int) SetDCToAnisotropic(HDC hDC, LPRECT lprcPhysical, LPRECT lprcLogical, LPRECT lprcWindowOld, LPRECT lprcViewportOld); ! 475: STDAPI_(int) SetDCToDrawInHimetricRect(HDC, LPRECT, LPRECT, LPRECT, LPRECT); ! 476: STDAPI_(int) ResetOrigDC(HDC, int, LPRECT, LPRECT); ! 477: ! 478: STDAPI_(void) XformRectInPixelsToHimetric(HDC, LPRECT, LPRECT); ! 479: STDAPI_(void) XformRectInHimetricToPixels(HDC, LPRECT, LPRECT); ! 480: STDAPI_(void) XformSizeInPixelsToHimetric(HDC, LPSIZEL, LPSIZEL); ! 481: STDAPI_(void) XformSizeInHimetricToPixels(HDC, LPSIZEL, LPSIZEL); ! 482: STDAPI_(int) XformWidthInHimetricToPixels(HDC, int); ! 483: STDAPI_(int) XformWidthInPixelsToHimetric(HDC, int); ! 484: STDAPI_(int) XformHeightInHimetricToPixels(HDC, int); ! 485: STDAPI_(int) XformHeightInPixelsToHimetric(HDC, int); ! 486: STDAPI_(BOOL) AreRectsEqual(LPRECT lprc1, LPRECT lprc2); ! 487: ! 488: ! 489: STDAPI_(void) ParseCmdLine(LPSTR, BOOL FAR *, LPSTR); ! 490: ! 491: STDAPI_(BOOL) OleStdIsOleLink(LPUNKNOWN lpUnk); ! 492: STDAPI_(LPUNKNOWN) OleStdQueryInterface(LPUNKNOWN lpUnk, REFIID riid); ! 493: STDAPI_(LPSTORAGE) OleStdCreateRootStorage(LPSTR lpszStgName, DWORD grfMode); ! 494: STDAPI_(LPSTORAGE) OleStdOpenRootStorage(LPSTR lpszStgName, DWORD grfMode); ! 495: STDAPI_(LPSTORAGE) OleStdOpenOrCreateRootStorage(LPSTR lpszStgName, DWORD grfMode); ! 496: STDAPI_(LPSTORAGE) OleStdCreateChildStorage(LPSTORAGE lpStg, LPSTR lpszStgName); ! 497: STDAPI_(LPSTORAGE) OleStdOpenChildStorage(LPSTORAGE lpStg, LPSTR lpszStgName, DWORD grfMode); ! 498: STDAPI_(BOOL) OleStdCommitStorage(LPSTORAGE lpStg); ! 499: ! 500: STDAPI_(LPSTORAGE) OleStdCreateStorageOnHGlobal( ! 501: HANDLE hGlobal, ! 502: BOOL fDeleteOnRelease, ! 503: DWORD dwgrfMode ! 504: ); ! 505: STDAPI_(LPSTORAGE) OleStdCreateTempStorage(BOOL fUseMemory, DWORD grfMode); ! 506: STDAPI OleStdDoConvert(LPSTORAGE lpStg, REFCLSID rClsidNew); ! 507: STDAPI_(BOOL) OleStdGetTreatAsFmtUserType( ! 508: REFCLSID rClsidApp, ! 509: LPSTORAGE lpStg, ! 510: CLSID FAR* lpclsid, ! 511: CLIPFORMAT FAR* lpcfFmt, ! 512: LPSTR FAR* lplpszType ! 513: ); ! 514: STDAPI OleStdDoTreatAsClass(LPSTR lpszUserType, REFCLSID rclsid, REFCLSID rclsidNew); ! 515: STDAPI_(BOOL) OleStdSetupAdvises(LPOLEOBJECT lpOleObject, DWORD dwDrawAspect, ! 516: LPSTR lpszContainerApp, LPSTR lpszContainerObj, ! 517: LPADVISESINK lpAdviseSink); ! 518: STDAPI OleStdSwitchDisplayAspect( ! 519: LPOLEOBJECT lpOleObj, ! 520: LPDWORD lpdwCurAspect, ! 521: DWORD dwNewAspect, ! 522: HGLOBAL hMetaPict, ! 523: BOOL fDeleteOldAspect, ! 524: BOOL fSetupViewAdvise, ! 525: LPADVISESINK lpAdviseSink, ! 526: BOOL FAR* lpfMustUpdate ! 527: ); ! 528: STDAPI OleStdSetIconInCache(LPOLEOBJECT lpOleObj, HGLOBAL hMetaPict); ! 529: STDAPI_(HGLOBAL) OleStdGetData( ! 530: LPDATAOBJECT lpDataObj, ! 531: CLIPFORMAT cfFormat, ! 532: DVTARGETDEVICE FAR* lpTargetDevice, ! 533: DWORD dwAspect, ! 534: LPSTGMEDIUM lpMedium ! 535: ); ! 536: STDAPI_(void) OleStdMarkPasteEntryList( ! 537: LPDATAOBJECT lpSrcDataObj, ! 538: LPOLEUIPASTEENTRY lpPriorityList, ! 539: int cEntries ! 540: ); ! 541: STDAPI_(int) OleStdGetPriorityClipboardFormat( ! 542: LPDATAOBJECT lpSrcDataObj, ! 543: LPOLEUIPASTEENTRY lpPriorityList, ! 544: int cEntries ! 545: ); ! 546: STDAPI_(BOOL) OleStdIsDuplicateFormat( ! 547: LPFORMATETC lpFmtEtc, ! 548: LPFORMATETC arrFmtEtc, ! 549: int nFmtEtc ! 550: ); ! 551: STDAPI_(void) OleStdRegisterAsRunning(LPUNKNOWN lpUnk, LPMONIKER lpmkFull, DWORD FAR* lpdwRegister); ! 552: STDAPI_(void) OleStdRevokeAsRunning(DWORD FAR* lpdwRegister); ! 553: STDAPI_(void) OleStdNoteFileChangeTime(LPSTR lpszFileName, DWORD dwRegister); ! 554: STDAPI_(void) OleStdNoteObjectChangeTime(DWORD dwRegister); ! 555: STDAPI OleStdGetOleObjectData( ! 556: LPPERSISTSTORAGE lpPStg, ! 557: LPFORMATETC lpformatetc, ! 558: LPSTGMEDIUM lpMedium, ! 559: BOOL fUseMemory ! 560: ); ! 561: STDAPI OleStdGetLinkSourceData( ! 562: LPMONIKER lpmk, ! 563: LPCLSID lpClsID, ! 564: LPFORMATETC lpformatetc, ! 565: LPSTGMEDIUM lpMedium ! 566: ); ! 567: STDAPI_(HGLOBAL) OleStdGetObjectDescriptorData( ! 568: CLSID clsid, ! 569: DWORD dwAspect, ! 570: SIZEL sizel, ! 571: POINTL pointl, ! 572: DWORD dwStatus, ! 573: LPSTR lpszFullUserTypeName, ! 574: LPSTR lpszSrcOfCopy ! 575: ); ! 576: STDAPI_(HGLOBAL) OleStdGetObjectDescriptorDataFromOleObject( ! 577: LPOLEOBJECT lpOleObj, ! 578: LPSTR lpszSrcOfCopy, ! 579: DWORD dwAspect, ! 580: POINTL pointl ! 581: ); ! 582: STDAPI_(HGLOBAL) OleStdFillObjectDescriptorFromData( ! 583: LPDATAOBJECT lpDataObject, ! 584: LPSTGMEDIUM lpmedium, ! 585: CLIPFORMAT FAR* lpcfFmt ! 586: ); ! 587: STDAPI_(BOOL) OleStdCopyMetafilePict(HANDLE hpictin, HANDLE FAR* phpictout); ! 588: STDAPI_(HANDLE) OleStdGetMetafilePictFromOleObject( ! 589: LPOLEOBJECT lpOleObj, ! 590: DWORD dwDrawAspect ! 591: ); ! 592: STDAPI OleStdQueryOleObjectData(LPFORMATETC lpformatetc); ! 593: STDAPI OleStdQueryLinkSourceData(LPFORMATETC lpformatetc); ! 594: STDAPI OleStdQueryObjectDescriptorData(LPFORMATETC lpformatetc); ! 595: STDAPI OleStdQueryFormatMedium(LPFORMATETC lpformatetc, TYMED tymed); ! 596: STDAPI_(DWORD) OleStdGetDropEffect ( DWORD grfKeyState ); ! 597: STDAPI_(void) OleStdCreateTempFileMoniker(LPSTR lpszPrefixString, UINT FAR* lpuUnique, LPSTR lpszName, LPMONIKER FAR* lplpmk); ! 598: STDAPI_(LPMONIKER) OleStdGetFirstMoniker(LPMONIKER lpmk); ! 599: STDAPI_(ULONG) OleStdGetLenFilePrefixOfMoniker(LPMONIKER lpmk); ! 600: STDAPI_(LPVOID) OleStdMalloc(ULONG ulSize); ! 601: STDAPI_(LPVOID) OleStdRealloc(LPVOID pmem, ULONG ulSize); ! 602: STDAPI_(void) OleStdFree(LPVOID pmem); ! 603: STDAPI_(ULONG) OleStdGetSize(LPVOID pmem); ! 604: STDAPI_(void) OleStdFreeString(LPSTR lpsz, LPMALLOC lpMalloc); ! 605: STDAPI_(LPSTR) OleStdCopyString(LPSTR lpszSrc, LPMALLOC lpMalloc); ! 606: STDAPI_(ULONG) OleStdGetItemToken(LPSTR lpszSrc, LPSTR lpszDst, int nMaxChars); ! 607: ! 608: STDAPI_(void) OleStdInitVtbl(LPVOID lpVtbl, UINT nSizeOfVtbl); ! 609: STDMETHODIMP OleStdNullMethod(LPUNKNOWN lpThis); ! 610: STDAPI_(BOOL) OleStdCheckVtbl(LPVOID lpVtbl, UINT nSizeOfVtbl, LPSTR lpszIface); ! 611: STDAPI_(ULONG) OleStdVerifyRelease(LPUNKNOWN lpUnk, LPSTR lpszMsg); ! 612: STDAPI_(ULONG) OleStdRelease(LPUNKNOWN lpUnk); ! 613: ! 614: STDAPI_(HDC) OleStdCreateDC(DVTARGETDEVICE FAR* ptd); ! 615: STDAPI_(HDC) OleStdCreateIC(DVTARGETDEVICE FAR* ptd); ! 616: STDAPI_(DVTARGETDEVICE FAR*) OleStdCreateTargetDevice(LPPRINTDLG lpPrintDlg); ! 617: STDAPI_(BOOL) OleStdDeleteTargetDevice(DVTARGETDEVICE FAR* ptd); ! 618: STDAPI_(DVTARGETDEVICE FAR*) OleStdCopyTargetDevice(DVTARGETDEVICE FAR* ptdSrc); ! 619: STDAPI_(BOOL) OleStdCopyFormatEtc(LPFORMATETC petcDest, LPFORMATETC petcSrc); ! 620: ! 621: ! 622: STDAPI_(void) OleDbgPrint( ! 623: int nDbgLvl, ! 624: LPSTR lpszPrefix, ! 625: LPSTR lpszMsg, ! 626: int nIndent ! 627: ); ! 628: STDAPI_(void) OleDbgPrintAlways(LPSTR lpszPrefix, LPSTR lpszMsg, int nIndent); ! 629: STDAPI_(void) OleDbgSetDbgLevel(int nDbgLvl); ! 630: STDAPI_(int) OleDbgGetDbgLevel( void ); ! 631: STDAPI_(void) OleDbgIndent(int n); ! 632: STDAPI_(void) OleDbgPrintRefCnt( ! 633: int nDbgLvl, ! 634: LPSTR lpszPrefix, ! 635: LPSTR lpszMsg, ! 636: LPVOID lpObj, ! 637: ULONG refcnt ! 638: ); ! 639: STDAPI_(void) OleDbgPrintRefCntAlways( ! 640: LPSTR lpszPrefix, ! 641: LPSTR lpszMsg, ! 642: LPVOID lpObj, ! 643: ULONG refcnt ! 644: ); ! 645: STDAPI_(void) OleDbgPrintRect( ! 646: int nDbgLvl, ! 647: LPSTR lpszPrefix, ! 648: LPSTR lpszMsg, ! 649: LPRECT lpRect ! 650: ); ! 651: STDAPI_(void) OleDbgPrintRectAlways( ! 652: LPSTR lpszPrefix, ! 653: LPSTR lpszMsg, ! 654: LPRECT lpRect ! 655: ); ! 656: STDAPI_(void) OleDbgPrintScodeAlways(LPSTR lpszPrefix, LPSTR lpszMsg, SCODE sc); ! 657: ! 658: ! 659: #endif // _OLESTD_H_
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.