Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

108 lines
3.5 KiB

  1. ////////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Internal.h
  4. //
  5. // MS Office Internal Interfaces. These interfaces are not supported
  6. // for client code.
  7. //
  8. // Change history:
  9. //
  10. // Date Who What
  11. // --------------------------------------------------------------------------
  12. // 07/13/94 B. Wentz Created file
  13. //
  14. ////////////////////////////////////////////////////////////////////////////////
  15. #ifndef __Internal_h__
  16. #define __Internal_h__
  17. #include "offcapi.h"
  18. #include "proptype.h"
  19. // Flag to | into Id's passed to Summary and Document Summary objects
  20. // to get a real pointer to data, not a copy.
  21. #define PTRWIZARD 0x1000
  22. // Flag to | into flags passed to User-defined property streams to get
  23. // a real pointer to the data, not a copy.
  24. #define UD_PTRWIZARD 0x0002
  25. #ifdef __cplusplus
  26. extern TEXT("C") {
  27. #endif
  28. // Create a UDPROP structure.
  29. LPUDPROP LpudpropCreate ( void );
  30. // Free a UDPROP structure.
  31. VOID VUdpropFree (LPUDPROP *lplpudp);
  32. // Create a temporary copy of the User-Defined property data
  33. BOOL FMakeTmpUDProps (LPUDOBJ lpUDObj);
  34. // Swap the "temp" copy with the real copy of User-Defined property data
  35. BOOL FSwapTmpUDProps (LPUDOBJ lpUDObj);
  36. // Delete the "temp" copy of the data
  37. BOOL FDeleteTmpUDProps (LPUDOBJ lpUDObj);
  38. // Look up a node in the UD props
  39. LPUDPROP PASCAL LpudpropFindMatchingName (LPUDOBJ lpUDObj, LPTSTR lpsz);
  40. BOOL FSumInfoCreate (LPSIOBJ FAR *lplpSIObj, const void *prglpfn[]);
  41. BOOL FDocSumCreate (LPDSIOBJ FAR *lplpDSIObj, const void *prglpfn[]);
  42. BOOL FUserDefCreate (LPUDOBJ FAR *lplpUDObj, const void *prglpfn[]);
  43. // Clear the data stored in the object, but do not destroy the object
  44. BOOL FSumInfoClear (LPSIOBJ lpSIObj);
  45. // Destroy the object
  46. BOOL FSumInfoDestroy (LPSIOBJ FAR *lplpSIObj);
  47. // Clear the data stored in the object, but do not destroy the object
  48. BOOL FDocSumClear (LPDSIOBJ lpDSIObj);
  49. // Destroy the given object.
  50. BOOL FDocSumDestroy (LPDSIOBJ FAR *lplpDSIObj);
  51. // Clear the data stored in object, but do not destroy the object.
  52. BOOL FUserDefClear (LPUDOBJ lpUDObj);
  53. // Destroy object,
  54. BOOL FUserDefDestroy (LPUDOBJ FAR *lplp);
  55. // Misc internal calls & defines
  56. // Maximum number of dictionary hash table buckets.
  57. #define DICTHASHMAX 20
  58. void PASCAL FreeUDData (LPUDOBJ lpUDObj, BOOL fTmp);
  59. BOOL PASCAL FAddPropToList (LPUDOBJ lpUDObj, LPPROPVARIANT lppropvar, STATPROPSTG *lpstatpropstg, LPUDPROP lpudprop);
  60. void PASCAL AddNodeToList (LPUDOBJ lpUDObj, LPUDPROP lpudprop);
  61. BOOL PASCAL FUserDefIteratorSetLink (LPUDOBJ lpUDObj, LPUDITER lpUDIter, LPTSTR lpszLink);
  62. LPUDITER PASCAL LpudiUserDefCreateIterFromLpudp (LPUDOBJ lpUDObj, LPUDPROP lpudp);
  63. //
  64. // THIS SHOULD BE USED WHEN COPYING DATA TO BUFFER PROVIDED BY APP
  65. //
  66. BOOL PASCAL FCopyValueToBuf (LPVOID lpvBuf, DWORD cbMax, LPVOID lpv, UDTYPES udtype);
  67. //
  68. // FOR INTERNAL USE ONLY. THIS FUNCTION ALLOCATES MEMORY
  69. //
  70. LPVOID PASCAL LpvCopyValue (LPVOID *lplpvBuf, DWORD cbMax, LPVOID lpv, UDTYPES udtype, BOOL fFromLpstz, BOOL fToLpstz);
  71. void PASCAL DeallocValue (LPVOID *lplpvBuf, UDTYPES udtype);
  72. // flpstz -- TRUE if lpstz is an OLE Prop lpstz DWORD-DWORD-bytes
  73. // -- FALSE if lpstz is a regular lpsz
  74. BOOL PASCAL FConvertDate (LPTSTR lpstz, LPFILETIME lpft);
  75. BOOL WINAPI FInitFakeKernel32();
  76. VOID PASCAL VFtToSz(LPFILETIME lpft, LPTSTR psz, WORD cbMax, BOOL fMinutes);
  77. #ifdef __cplusplus
  78. }; // extern "C"
  79. #endif
  80. #endif // __Internal_h__