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.

161 lines
4.6 KiB

  1. /**********************************************************************/
  2. /** Microsoft LAN Manager **/
  3. /** Copyright(c) Microsoft Corp., 1991 **/
  4. /**********************************************************************/
  5. /*
  6. IPermAPI.hxx
  7. This file contains the Interal Permission APIs for access to the
  8. generic Auditting/Permissions edittor.
  9. FILE HISTORY:
  10. Johnl 07-Aug-1991 Created
  11. */
  12. #ifndef _IPERMAPI_HXX_
  13. #define _IPERMAPI_HXX_
  14. /* Bring up the graphical security edittor for changing the Access permissions
  15. * or the Audit permissions.
  16. */
  17. enum SED_PERM_TYPE
  18. {
  19. SED_AUDITS,
  20. SED_ACCESSES,
  21. SED_OWNER
  22. } ;
  23. class ACL_TO_PERM_CONVERTER ; // Forward reference
  24. /* This API brings up the generic graphic Security editor for access
  25. * permissions and audit permissions.
  26. *
  27. * Return codes will be one of the standard DOS or NET return codes
  28. */
  29. APIERR I_GenericSecurityEditor(
  30. //
  31. // Parent window to base the dialogs from
  32. //
  33. HWND hwndParent,
  34. //
  35. // An appropriately created ACL converter (either LM or NT)
  36. //
  37. ACL_TO_PERM_CONVERTER * paclconv,
  38. //
  39. // One of:
  40. // SED_AUDITS - Brings up the audit dialogs
  41. // SED_ACCESSES - Brings up the permission dialogs
  42. //
  43. // Note that SED_OWNER is not a valid valid value for this API.
  44. //
  45. enum SED_PERM_TYPE permType,
  46. //
  47. // Is TRUE if we are dealing with an NT style ACL
  48. //
  49. BOOL fIsNT,
  50. //
  51. // TRUE if this is a Container object (i.e., Directory etc.).
  52. //
  53. BOOL fIsContainer,
  54. //
  55. // TRUE if this object is a container object *and* it supports setting
  56. // permissions on New Sub-Objects (New Sub-Objects are objects that
  57. // will created inside a container object. The New Sub-Objects permissions
  58. // are applied when the object is created (i.e., the Object inherit bit
  59. // is set on the ACE)).
  60. //
  61. BOOL fSupportsNewObjectPerms,
  62. //
  63. // Name to title the main dialog with
  64. //
  65. const TCHAR * pszDialogTitle,
  66. //
  67. // The UI text to use for this object ("File", "Directory", "Print Queue")
  68. //
  69. const TCHAR * pszResType,
  70. //
  71. // The UI text that names this object ("C:\foobaz\myfiles.txt" etc.)
  72. //
  73. const TCHAR * pszResName,
  74. //
  75. // Name that appears in the permission name combo box that will access
  76. // the special dialog for the current selection in the listbox
  77. // ("Special Directory Access..."). Only used for permissions (not
  78. // for auditting).
  79. //
  80. const TCHAR * pszSpecialAccessName,
  81. //
  82. // Chooses the default permission name in the "Add" dialog. This name
  83. // must match one of the resource permission names
  84. //
  85. const TCHAR * pszDefaultPermName,
  86. //
  87. // The help file to use with the associated help contexts
  88. //
  89. const TCHAR * pszHelpFileName,
  90. //
  91. // The following is an array of help context's to be used in
  92. // various dialogs.
  93. //
  94. ULONG * ahcHelp,
  95. //
  96. // Name that appears in the permission name combo box that will access
  97. // the New Object special dialog for the current selection in the listbox
  98. // ("Special New File Access..."). Only used for permissions (not for
  99. // auditting)
  100. // for container objects where New Sub-Objects are supported.
  101. //
  102. const TCHAR * pszNewObjectSpecialAccessName,
  103. //
  104. // Text that appears next to the check box for assigning the
  105. // the permissions down the tree
  106. // Only valid for container objects.
  107. // (set to NULL if you do not wish the checkbox to appear).
  108. //
  109. //
  110. const TCHAR * pszAssignToExistingContTitle,
  111. //
  112. // Text that appears next to the check box for assigning the
  113. // new object permissions to existing objects. Used only valid if container
  114. // and new object permissions are supported.
  115. //
  116. const TCHAR * pszAssignToExistingObjTitle,
  117. //
  118. // This text appears below the tree apply check box and is meant to be used
  119. // simply as an explanation of what is going to happen when if the
  120. // check is checked
  121. //
  122. const TCHAR * pszTreeApplyHelpTitle,
  123. //
  124. // This is the confirmation message presented to the user when they are
  125. // dealing with a container and they have checked the tree apply checkbox.
  126. // There should be a %1 in this string that will be substituted with the
  127. // resource name.
  128. //
  129. const TCHAR * pszTreeApplyConfirmation
  130. ) ;
  131. #endif // _IPERMAPI_HXX_