home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / sdk / com / dcom / dcomperm / dcomperm.h < prev    next >
C/C++ Source or Header  |  1996-07-19  |  3KB  |  222 lines

  1. /*++
  2.  
  3. DCOM Permission Configuration Sample
  4. Copyright (c) 1996, Microsoft Corporation. All rights reserved.
  5.  
  6. Module Name:
  7.  
  8.     dcomperm.h
  9.  
  10. Abstract:
  11.  
  12.     Include file for DCOM Permission Configuration sample
  13.  
  14. Author:
  15.  
  16.     Michael Nelson
  17.  
  18. Environment:
  19.  
  20.     Windows NT
  21.  
  22. --*/
  23.  
  24. #define GUIDSTR_MAX 38
  25.  
  26. #ifndef STR2UNI
  27.  
  28. #define STR2UNI(unistr, regstr) \
  29.         mbstowcs (unistr, regstr, strlen (regstr)+1);
  30.  
  31. #define UNI2STR(regstr, unistr) \
  32.         wcstombs (regstr, unistr, wcslen (unistr)+1);
  33.  
  34. #endif
  35.  
  36.  
  37. //
  38. // Wrappers
  39. //
  40.  
  41. DWORD
  42. ListDefaultAccessACL();
  43.  
  44. DWORD
  45. ListDefaultLaunchACL();
  46.  
  47. DWORD
  48. ListAppIDAccessACL (
  49.     LPTSTR AppID
  50.     );
  51.  
  52. DWORD
  53. ListAppIDLaunchACL (
  54.     LPTSTR AppID
  55.     );
  56.  
  57. DWORD
  58. ChangeDefaultAccessACL (
  59.     LPTSTR Principal,
  60.     BOOL SetPrincipal,
  61.     BOOL Permit
  62.     );
  63.  
  64. DWORD
  65. ChangeDefaultLaunchACL (
  66.     LPTSTR Principal,
  67.     BOOL SetPrincipal,
  68.     BOOL Permit
  69.     );
  70.  
  71. DWORD
  72. ChangeAppIDAccessACL (
  73.     LPTSTR AppID,
  74.     LPTSTR Principal,
  75.     BOOL SetPrincipal,
  76.     BOOL Permit
  77.     );
  78.  
  79. DWORD
  80. ChangeAppIDLaunchACL (
  81.     LPTSTR AppID,
  82.     LPTSTR Principal,
  83.     BOOL SetPrincipal,
  84.     BOOL Permit
  85.     );
  86.  
  87. DWORD GetRunAsPassword (
  88.     LPTSTR AppID,
  89.     LPTSTR Password
  90.     );
  91.  
  92. DWORD SetRunAsPassword (
  93.     LPTSTR AppID,
  94.     LPTSTR Principal,
  95.     LPTSTR Password
  96.     );
  97.  
  98. DWORD GetRunAsPassword (
  99.     LPTSTR AppID,
  100.     LPTSTR Password
  101.     );
  102.  
  103. DWORD SetRunAsPassword (
  104.     LPTSTR AppID,
  105.     LPTSTR Password
  106.     );
  107.  
  108. //
  109. // Internal functions
  110. //
  111.  
  112. DWORD
  113. CreateNewSD (
  114.     SECURITY_DESCRIPTOR **SD
  115.     );
  116.  
  117. DWORD
  118. MakeSDAbsolute (
  119.     PSECURITY_DESCRIPTOR OldSD,
  120.     PSECURITY_DESCRIPTOR *NewSD
  121.     );
  122.  
  123. DWORD
  124. SetNamedValueSD (
  125.     HKEY RootKey,
  126.     LPTSTR KeyName,
  127.     LPTSTR ValueName,
  128.     SECURITY_DESCRIPTOR *SD
  129.     );
  130.  
  131. DWORD
  132. GetNamedValueSD (
  133.     HKEY RootKey,
  134.     LPTSTR KeyName,
  135.     LPTSTR ValueName,
  136.     SECURITY_DESCRIPTOR **SD,
  137.     BOOL *NewSD
  138.     );
  139.  
  140. DWORD
  141. ListNamedValueSD (
  142.     HKEY RootKey,
  143.     LPTSTR KeyName,
  144.     LPTSTR ValueName
  145.     );
  146.  
  147. DWORD
  148. AddPrincipalToNamedValueSD (
  149.     HKEY RootKey,
  150.     LPTSTR KeyName,
  151.     LPTSTR ValueName,
  152.     LPTSTR Principal,
  153.     BOOL Permit
  154.     );
  155.  
  156. DWORD
  157. RemovePrincipalFromNamedValueSD (
  158.     HKEY RootKey,
  159.     LPTSTR KeyName,
  160.     LPTSTR ValueName,
  161.     LPTSTR Principal
  162.     );
  163.  
  164. DWORD
  165. GetCurrentUserSID (
  166.     PSID *Sid
  167.     );
  168.  
  169. DWORD
  170. GetPrincipalSID (
  171.     LPTSTR Principal,
  172.     PSID *Sid
  173.     );
  174.  
  175. DWORD
  176. CopyACL (
  177.     PACL OldACL,
  178.     PACL NewACL
  179.     );
  180.  
  181. DWORD
  182. AddAccessDeniedACEToACL (
  183.     PACL *Acl,
  184.     DWORD PermissionMask,
  185.     LPTSTR Principal
  186.     );
  187.  
  188. DWORD
  189. AddAccessAllowedACEToACL (
  190.     PACL *Acl,
  191.     DWORD PermissionMask,
  192.     LPTSTR Principal
  193.     );
  194.  
  195. DWORD
  196. RemovePrincipalFromACL (
  197.     PACL Acl,
  198.     LPTSTR Principal
  199.     );
  200.  
  201. void
  202. ListACL (
  203.     PACL Acl
  204.     );
  205.  
  206. DWORD
  207. SetAccountRights (
  208.     LPTSTR User,
  209.     LPTSTR Privilege
  210.     );
  211.  
  212. //
  213. // Utility Functions
  214. //
  215.  
  216. LPTSTR
  217. SystemMessage (
  218.     LPTSTR szBuffer,
  219.     HRESULT hr
  220.     );
  221.  
  222.