Leaked source code of windows server 2003
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.

107 lines
3.4 KiB

  1. /*
  2. * shared.h
  3. *
  4. * History:
  5. * Feb '98: Created.
  6. *
  7. * Copyright (C) Microsoft Corp. 1998
  8. *
  9. * Describes functions in staticRT/shared.cpp
  10. */
  11. #ifndef _SHARED_H
  12. #define _SHARED_H
  13. #ifdef __cplusplus
  14. #define _EXTERN_ extern "C"
  15. #else
  16. #define _EXTERN_ extern
  17. #endif
  18. #define STR_PATH_MAIN_EXE "msimn.exe"
  19. #ifdef DEFINE_SHARED_STRINGS
  20. #define SHARED_GLOBAL(x,y) _EXTERN_ CDECL const TCHAR x[] = TEXT(y)
  21. #else
  22. #define SHARED_GLOBAL(x,y) _EXTERN_ CDECL const TCHAR x[]
  23. #endif
  24. // Files
  25. SHARED_GLOBAL(c_szAdvPackDll, "ADVPACK.DLL");
  26. SHARED_GLOBAL(c_szOEResDll, "msoeres.dll");
  27. SHARED_GLOBAL(c_szInetResDll, "inetres.dll");
  28. SHARED_GLOBAL(c_szAcctResDll, "acctres.dll");
  29. SHARED_GLOBAL(c_szOutlAcctManDll, "outlacct.dll");
  30. SHARED_GLOBAL(c_szOEExe, STR_PATH_MAIN_EXE);
  31. // Reg Keys
  32. SHARED_GLOBAL(c_szRegWinCurrVer, "Software\\Microsoft\\Windows\\CurrentVersion");
  33. SHARED_GLOBAL(c_szRegInetCommDll, "Software\\Microsoft\\Outlook Express\\Inetcomm");
  34. SHARED_GLOBAL(c_szRegOEAppPath, "Software\\Microsoft\\Windows\\CurrentVersion\\App Paths\\" STR_PATH_MAIN_EXE);
  35. SHARED_GLOBAL(c_szRegMsoeAcctDll, "Software\\Microsoft\\Internet Account Manager");
  36. // Reg Value Names
  37. SHARED_GLOBAL(c_szDllPath, "DllPath");
  38. SHARED_GLOBAL(c_szProgFilesDir, "ProgramFilesDir");
  39. // Misc
  40. SHARED_GLOBAL(c_szReg, "Reg");
  41. SHARED_GLOBAL(c_szUnReg, "UnReg");
  42. SHARED_GLOBAL(c_szPath, "Path");
  43. // Some codepage mapping data structures and functions
  44. struct _tagOENonStdCP
  45. {
  46. UINT Codepage;
  47. UINT cpRead; // Read note CP
  48. UINT cpReadMenu; // Read Note menu
  49. UINT cpReadTitle; // Note Title CP
  50. UINT cpSendMenu; // Compose note menu CP
  51. UINT cpSend; // Send CP
  52. UINT UseSIO; // Use SIO
  53. // UINT cpSend; // Default compose note CP
  54. };
  55. typedef struct _tagOENonStdCP OENONSTDCP;
  56. extern const OENONSTDCP OENonStdCPs[];
  57. #ifdef __cplusplus
  58. extern "C" {
  59. #endif
  60. HRESULT CallRegInstall(HINSTANCE hInstCaller, HINSTANCE hInstRes, LPCSTR szSection, LPSTR pszExtra);
  61. BOOL AddEnvInPath (LPCSTR pszOldPath, LPSTR pszNew, DWORD cchSize);
  62. HRESULT MakeFilePath(LPCSTR pszDirectory, LPCSTR pszFileName, LPCSTR pszExtension, LPSTR pszFilePath, ULONG cchMaxFilePath);
  63. //PlugUI functions
  64. #ifndef NT5B2
  65. HINSTANCE LoadLangDll(HINSTANCE hInstCaller, LPCSTR szDllName, BOOL fNT);
  66. #else
  67. HINSTANCE LoadLangDll(HINSTANCE hInstCaller, LPCSTR szDllName);
  68. #endif
  69. BOOL OEWinHelp(HWND hWndCaller, LPCSTR lpszHelp, UINT uCommand, DWORD_PTR dwData);
  70. HWND OEHtmlHelp(HWND hWndCaller, LPCSTR pszFile, UINT uCommand, DWORD_PTR dwData);
  71. BOOL GetPCAndOSTypes(SYSTEM_INFO * pSysInf, OSVERSIONINFO * pOsInf);
  72. // --------------------------------------------------------------------------------
  73. // MEMORYFILE
  74. // --------------------------------------------------------------------------------
  75. typedef struct tagMEMORYFILE {
  76. HANDLE hFile;
  77. HANDLE hMemoryMap;
  78. DWORD cbSize;
  79. LPVOID pView;
  80. } MEMORYFILE, *LPMEMORYFILE;
  81. HRESULT CloseMemoryFile(LPMEMORYFILE pFile);
  82. HRESULT OpenMemoryFile(LPCSTR pszFile, LPMEMORYFILE pFile);
  83. #define S_RESTART_OE _HRESULT_TYPEDEF_(0x00000714L)
  84. #ifdef __cplusplus
  85. }
  86. #endif
  87. #endif