|
-
Feb 9th, 2011, 02:29 PM
#1
Thread Starter
Addicted Member
Error - "Operator '|' cannot be applied to operands of type...
I'm getting this error for some reason....
"Operator '|' cannot be applied to operands of type 'WindowsService.ACCESS_MASK' and 'int' "
Code:
private const Int32 SC_MANAGER_QUERY_LOCK_STATUS = 0x00010;
private const Int32 SC_MANAGER_CONNECT = 0x00001;
private const Int32 SC_MANAGER_CREATE_SERVICE = 0x00002;
private const Int32 SC_MANAGER_ENUMERATE_SERVICE = 0x00004;
private const Int32 SC_MANAGER_LOCK = 0x00008;
private const Int32 SC_MANAGER_MODIFY_BOOT_CONFIG = 0x00020;
private const Int32 SC_MANAGER_ALL_ACCESS = ACCESS_MASK.STANDARD_RIGHTS_REQUIRED | SC_MANAGER_CONNECT | SC_MANAGER_CREATE_SERVICE | SC_MANAGER_ENUMERATE_SERVICE | SC_MANAGER_LOCK | SC_MANAGER_QUERY_LOCK_STATUS | SC_MANAGER_MODIFY_BOOT_CONFIG;
Code:
[Flags()]
private enum ACCESS_MASK : uint
{
DELETE = 0x10000,
READ_CONTROL = 0x20000,
WRITE_DAC = 0x40000,
WRITE_OWNER = 0x80000,
SYNCHRONIZE = 0x100000,
STANDARD_RIGHTS_REQUIRED = 0xf0000,
STANDARD_RIGHTS_READ = 0x20000,
STANDARD_RIGHTS_WRITE = 0x20000,
STANDARD_RIGHTS_EXECUTE = 0x20000,
STANDARD_RIGHTS_ALL = 0x1f0000,
SPECIFIC_RIGHTS_ALL = 0xffff,
ACCESS_SYSTEM_SECURITY = 0x1000000,
MAXIMUM_ALLOWED = 0x2000000,
GENERIC_READ = 0x80000000,
GENERIC_WRITE = 0x40000000,
GENERIC_EXECUTE = 0x20000000,
GENERIC_ALL = 0x10000000,
DESKTOP_READOBJECTS = 0x1,
DESKTOP_CREATEWINDOW = 0x2,
DESKTOP_CREATEMENU = 0x4,
DESKTOP_HOOKCONTROL = 0x8,
DESKTOP_JOURNALRECORD = 0x10,
DESKTOP_JOURNALPLAYBACK = 0x20,
DESKTOP_ENUMERATE = 0x40,
DESKTOP_WRITEOBJECTS = 0x80,
DESKTOP_SWITCHDESKTOP = 0x100,
WINSTA_ENUMDESKTOPS = 0x1,
WINSTA_READATTRIBUTES = 0x2,
WINSTA_ACCESSCLIPBOARD = 0x4,
WINSTA_CREATEDESKTOP = 0x8,
WINSTA_WRITEATTRIBUTES = 0x10,
WINSTA_ACCESSGLOBALATOMS = 0x20,
WINSTA_EXITWINDOWS = 0x40,
WINSTA_ENUMERATE = 0x100,
WINSTA_READSCREEN = 0x200,
WINSTA_ALL_ACCESS = 0x37f
}
If I remove the ACCESS_MASK.STANDARD_RIGHTS_REQUIRED, the error goes away. Why is this occuring?
-
Feb 9th, 2011, 03:27 PM
#2
Re: Error - "Operator '|' cannot be applied to operands of type...
Code:
private enum ACCESS_MASK : int
Does this fix it?
Delete it. They just clutter threads anyway.
-
Feb 9th, 2011, 03:29 PM
#3
Re: Error - "Operator '|' cannot be applied to operands of type...
Instead of Int32's in the first code section, you should probably try using uint's.
Then you should be able to OR them.
Need to re-register ASP.NET?
C:\WINNT\Microsoft.NET\Framework\v#VERSIONNUMBER#\aspnet_regiis -i
(Edit #VERSIONNUMBER# as needed - do a DIR if you don't know)
-
Feb 9th, 2011, 03:38 PM
#4
Thread Starter
Addicted Member
Re: Error - "Operator '|' cannot be applied to operands of type...
I tried changing to private enum ACCESS_MASK : int but this didn't work.
I also changed all the datatypes from int32 to uint including SC_MANAGER_ALL_ACCESS but then the error changes to "Operator '|' cannot be applied to operands of type 'WindowsService.ACCESS_MASK' and 'uint' "
-
Feb 9th, 2011, 03:40 PM
#5
Thread Starter
Addicted Member
Re: Error - "Operator '|' cannot be applied to operands of type...
Ok, nevermind. LoL. I fixed it.
Code:
private const Int32 SC_MANAGER_ALL_ACCESS = (Int32)ACCESS_MASK.STANDARD_RIGHTS_REQUIRED | SC_MANAGER_CONNECT | SC_MANAGER_CREATE_SERVICE | SC_MANAGER_ENUMERATE_SERVICE | SC_MANAGER_LOCK | SC_MANAGER_QUERY_LOCK_STATUS | SC_MANAGER_MODIFY_BOOT_CONFIG;
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|