mirror of https://github.com/BOINC/boinc.git
199 lines
2.6 KiB
C
199 lines
2.6 KiB
C
/*++
|
|
|
|
DCOM Permission Configuration Sample
|
|
Copyright (c) 1996, Microsoft Corporation. All rights reserved.
|
|
|
|
Module Name:
|
|
|
|
dcomperm.h
|
|
|
|
Abstract:
|
|
|
|
Include file for DCOM Permission Configuration sample
|
|
|
|
Author:
|
|
|
|
Michael Nelson
|
|
|
|
Environment:
|
|
|
|
Windows NT
|
|
|
|
--*/
|
|
|
|
#define GUIDSTR_MAX 38
|
|
|
|
#ifndef STR2UNI
|
|
|
|
#define STR2UNI(unistr, regstr) \
|
|
mbstowcs (unistr, regstr, strlen (regstr)+1);
|
|
|
|
#define UNI2STR(regstr, unistr) \
|
|
wcstombs (regstr, unistr, wcslen (unistr)+1);
|
|
|
|
#endif
|
|
|
|
|
|
//
|
|
// Wrappers
|
|
//
|
|
|
|
DWORD
|
|
ListDefaultAccessACL();
|
|
|
|
DWORD
|
|
ListDefaultLaunchACL();
|
|
|
|
DWORD
|
|
ListAppIDAccessACL (
|
|
LPTSTR AppID
|
|
);
|
|
|
|
DWORD
|
|
ListAppIDLaunchACL (
|
|
LPTSTR AppID
|
|
);
|
|
|
|
DWORD
|
|
ChangeDefaultAccessACL (
|
|
LPTSTR Principal,
|
|
BOOL SetPrincipal,
|
|
BOOL Permit
|
|
);
|
|
|
|
DWORD
|
|
ChangeDefaultLaunchACL (
|
|
LPTSTR Principal,
|
|
BOOL SetPrincipal,
|
|
BOOL Permit
|
|
);
|
|
|
|
DWORD
|
|
ChangeAppIDAccessACL (
|
|
LPTSTR AppID,
|
|
LPTSTR Principal,
|
|
BOOL SetPrincipal,
|
|
BOOL Permit
|
|
);
|
|
|
|
DWORD
|
|
ChangeAppIDLaunchACL (
|
|
LPTSTR AppID,
|
|
LPTSTR Principal,
|
|
BOOL SetPrincipal,
|
|
BOOL Permit
|
|
);
|
|
|
|
DWORD GetRunAsPassword (
|
|
LPTSTR AppID,
|
|
LPTSTR Password
|
|
);
|
|
|
|
DWORD SetRunAsPassword (
|
|
LPTSTR AppID,
|
|
LPTSTR Principal,
|
|
LPTSTR Password
|
|
);
|
|
|
|
DWORD GetRunAsPassword (
|
|
LPTSTR AppID,
|
|
LPTSTR Password
|
|
);
|
|
|
|
DWORD SetRunAsPassword (
|
|
LPTSTR AppID,
|
|
LPTSTR Password
|
|
);
|
|
|
|
//
|
|
// Internal functions
|
|
//
|
|
|
|
DWORD
|
|
CreateNewSD (
|
|
SECURITY_DESCRIPTOR **SD
|
|
);
|
|
|
|
DWORD
|
|
MakeSDAbsolute (
|
|
PSECURITY_DESCRIPTOR OldSD,
|
|
PSECURITY_DESCRIPTOR *NewSD
|
|
);
|
|
|
|
DWORD
|
|
SetNamedValueSD (
|
|
HKEY RootKey,
|
|
LPTSTR KeyName,
|
|
LPTSTR ValueName,
|
|
SECURITY_DESCRIPTOR *SD
|
|
);
|
|
|
|
DWORD
|
|
GetNamedValueSD (
|
|
HKEY RootKey,
|
|
LPTSTR KeyName,
|
|
LPTSTR ValueName,
|
|
SECURITY_DESCRIPTOR **SD,
|
|
BOOL *NewSD
|
|
);
|
|
|
|
DWORD
|
|
ListNamedValueSD (
|
|
HKEY RootKey,
|
|
LPTSTR KeyName,
|
|
LPTSTR ValueName
|
|
);
|
|
|
|
DWORD
|
|
AddPrincipalToNamedValueSD (
|
|
HKEY RootKey,
|
|
LPTSTR KeyName,
|
|
LPTSTR ValueName,
|
|
LPTSTR Principal,
|
|
BOOL Permit
|
|
);
|
|
|
|
DWORD
|
|
RemovePrincipalFromNamedValueSD (
|
|
HKEY RootKey,
|
|
LPTSTR KeyName,
|
|
LPTSTR ValueName,
|
|
LPTSTR Principal
|
|
);
|
|
|
|
DWORD
|
|
GetCurrentUserSID (
|
|
PSID *Sid
|
|
);
|
|
|
|
DWORD
|
|
CopyACL (
|
|
PACL OldACL,
|
|
PACL NewACL
|
|
);
|
|
|
|
DWORD
|
|
AddAccessDeniedACEToACL (
|
|
PACL *Acl,
|
|
DWORD PermissionMask,
|
|
LPTSTR Principal
|
|
);
|
|
|
|
DWORD
|
|
AddAccessAllowedACEToACL (
|
|
PACL *Acl,
|
|
DWORD PermissionMask,
|
|
LPTSTR Principal
|
|
);
|
|
|
|
DWORD
|
|
RemovePrincipalFromACL (
|
|
PACL Acl,
|
|
LPTSTR Principal
|
|
);
|
|
|
|
void
|
|
ListACL (
|
|
PACL Acl
|
|
);
|