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.

109 lines
6.1 KiB

  1. //*********************************************************************
  2. //* Microsoft Windows **
  3. //* Copyright(c) Microsoft Corporation. All rights reserved. **
  4. //*********************************************************************
  5. #ifndef _INETCPLP_H_
  6. #define _INETCPLP_H_
  7. // property sheet page IDs
  8. #define INET_PAGE_GENERAL 0x00000001
  9. #define INET_PAGE_CONNECTION 0x00000002
  10. #define INET_PAGE_PLACES 0x00000004 // OBSOLETE: IE40 users! DO NOT use this ID
  11. #define INET_PAGE_PROGRAMS 0x00000008
  12. #define INET_PAGE_SECURITY_OLD 0x00000010 // OBSOLETE: IE40 users! DO NOT use this ID
  13. #define INET_PAGE_ADVANCED 0x00000020
  14. #define INET_PAGE_PRINT 0x00000040 // OBSOLETE: IE40 users! DO NOT use this ID
  15. #define INET_PAGE_CONTENT 0x00000080
  16. #define INET_PAGE_SECURITY 0x00000100
  17. #define INET_PAGE_ASSOC 0x00000200 // UNIX Assocations
  18. #define INET_PAGE_ALIAS 0x00000400 // UNIX Aliases
  19. #define INET_PAGE_PRIVACY 0x00000800
  20. // restrict flags
  21. #define R_MULTIMEDIA 0x00000001 // OBSOLETE: IE40 users! DO NOT use this ID
  22. #define R_COLORS 0x00000002 // colors section of the Colors Dialog
  23. #define R_LINKS 0x00000004 // links section of the Colors Dialog
  24. #define R_TOOLBARS 0x00000008 // OBSOLETE: IE40 users! DO NOT use this ID
  25. #define R_FONTS 0x00000010 // Fonts Dialog
  26. #define R_DIALING 0x00000020 // Connection section of Connection tab (incl Settings subdialog)
  27. #define R_PROXYSERVER 0x00000040 // Proxy server section of Connection tab (incl Advanced subdialog)
  28. #define R_CUSTOMIZE 0x00000080 // Homepage section of General tab
  29. #define R_HISTORY 0x00000100 // History section of General tab
  30. #define R_MAILANDNEWS 0x00000200 // Messaging section of Programs tab
  31. #define R_VIEWERS 0x00000400 // OBSOLETE: IE40 users! DO NOT use this ID
  32. #define R_RATINGS 0x00000800 // Ratings section of Content tab
  33. #define R_CERTIFICATES 0x00001000 // Certificates section of Content tab
  34. #define R_ACTIVECONTENT 0x00002000 // OBSOLETE: IE40 users! DO NOT use this ID
  35. #define R_WARNINGS 0x00004000 // OBSOLETE: IE40 users! DO NOT use this ID
  36. #define R_CACHE 0x00008000 // Temporary Internet Files section of General Tab (incl Settings subdialog)
  37. #define R_CRYPTOGRAPHY 0x00010000 // OBSOLETE: IE40 users! DO NOT use this ID
  38. #define R_PLACESDEFAULT 0x00020000 // OBSOLETE: IE40 users! DO NOT use this ID
  39. #define R_OTHER 0x00040000 // OBSOLETE: IE40 users! DO NOT use this ID
  40. #define R_CHECKBROWSER 0x00080000 // "IE should check if default browser" checkbox on Programs tab
  41. #define R_LANGUAGES 0x00100000 // Languages Dialog off of the General tab
  42. #define R_ACCESSIBILITY 0x00200000 // Accessibility Dialog off of the General tab
  43. #define R_SECURITY_HKLM_ONLY 0x00400000 // Security tab settings (everything is read only)
  44. #define R_SECURITY_CHANGE_SETTINGS 0x00800000 // Security tab settings (can't change security level for a zone)
  45. #define R_SECURITY_CHANGE_SITES 0x01000000 // Security tab settings (disable everything on Add sites)
  46. #define R_PROFILES 0x02000000 // Profile Asst. section of Content tab
  47. #define R_WALLET 0x04000000 // MS Wallet section of Content tab
  48. #define R_CONNECTION_WIZARD 0x08000000 // Connection wizard button on Connection tab
  49. #define R_AUTOCONFIG 0x10000000 // Auto config section of Programs tab
  50. #define R_ADVANCED 0x20000000 // Entire Advanced tab (including "Restore Defaults")
  51. #define R_CAL_CONTACT 0x40000000 // Personal Info section of Programs tab
  52. #define STR_INETCPL TEXT("inetcpl.cpl") // LoadLibrary() with this string
  53. // structure to pass info to the control panel
  54. typedef struct {
  55. UINT cbSize; // size of the structure
  56. DWORD dwFlags; // enabled page flags (remove pages)
  57. LPSTR pszCurrentURL; // the current URL (NULL=none)
  58. DWORD dwRestrictMask; // disable sections of the control panel
  59. DWORD dwRestrictFlags; // masking for the above
  60. } IEPROPPAGEINFO, *LPIEPROPPAGEINFO;
  61. // GetProcAddress() with this string
  62. #define STR_ADDINTERNETPROPSHEETS "AddInternetPropertySheets"
  63. typedef HRESULT (STDMETHODCALLTYPE * PFNADDINTERNETPROPERTYSHEETS)(
  64. LPFNADDPROPSHEETPAGE pfnAddPage, // add PS callback function
  65. LPARAM lparam, // pointer to prop. sheet header
  66. PUINT pucRefCount, // reference counter (NULL if not used)
  67. LPFNPSPCALLBACK pfnCallback // PS-to-be-added's callback function (NULL if not used);
  68. );
  69. // GetProcAddress() with this string
  70. #define STR_ADDINTERNETPROPSHEETSEX "AddInternetPropertySheetsEx"
  71. typedef HRESULT (STDMETHODCALLTYPE * PFNADDINTERNETPROPERTYSHEETSEX)(
  72. LPFNADDPROPSHEETPAGE pfnAddPage, // add PS callback function
  73. LPARAM lparam, // pointer to prop. sheet header
  74. PUINT pucRefCount, // reference counter (NULL if not used)
  75. LPFNPSPCALLBACK pfnCallback, // PS-to-be-added's callback function (NULL if not used)
  76. LPIEPROPPAGEINFO piepi // structure to pass info to control panel
  77. );
  78. STDAPI_(INT_PTR) OpenFontsDialog(HWND hDlg, LPCSTR lpszKeyPath);
  79. STDAPI_(BOOL) LaunchSecurityDialogEx(HWND hDlg, DWORD dwZone, DWORD dwFlags);
  80. #define STR_LAUNCHSECURITYDIALOGEX TEXT("LaunchSecurityDialogEx")
  81. // Flags understood by LaunchSecurityDialog
  82. typedef enum {
  83. LSDFLAG_DEFAULT = 0x00000000,
  84. LSDFLAG_NOADDSITES = 0x00000001,
  85. LSDFLAG_FORCEUI = 0x00000002
  86. } LSDFLAG;
  87. typedef BOOL (STDMETHODCALLTYPE * PFNLAUNCHSECURITYDIALOGEX)(
  88. HWND hDlg, // Parent Window
  89. DWORD dwZone, // Initial Zone to display, as defined in urlmon
  90. DWORD dwFlags // Initialization flags: or'd combination of LSD_FLAGS
  91. );
  92. #endif