I am making progress..... 
but this seems to have me stumped.
According to the sdk, the access mask returns a flag value obtained from this table.
code:
ADS_RIGHT_GENERIC_READ = 0x80000000,
ADS_RIGHT_GENERIC_WRITE = 0x40000000,
ADS_RIGHT_GENERIC_EXECUTE = 0x20000000,
ADS_RIGHT_GENERIC_ALL = 0x10000000,
ADS_RIGHT_ACCESS_SYSTEM_SECURITY = 0x1000000,
ADS_RIGHT_SYNCHRONIZE = 0x100000,
ADS_RIGHT_WRITE_OWNER = 0x80000,
ADS_RIGHT_WRITE_DAC = 0x40000,
ADS_RIGHT_READ_CONTROL = 0x20000,
ADS_RIGHT_DELETE = 0x10000,
ADS_RIGHT_DS_CONTROL_ACCESS = 0x100
ADS_RIGHT_DS_LIST_OBJECT = 0x80,
ADS_RIGHT_DS_DELETE_TREE = 0x40,
ADS_RIGHT_DS_WRITE_PROP = 0x20,
ADS_RIGHT_DS_READ_PROP = 0x10,
ADS_RIGHT_DS_SELF = 0x8,
ADS_RIGHT_ACTRL_DS_LIST = 0x4,
ADS_RIGHT_DS_DELETE_CHILD = 0x2,
ADS_RIGHT_DS_CREATE_CHILD = 0x1,
the 0x# is that the value of the flag in hex? and is the value returned by .AccessMask a base 10 number?
I guess my non programmer roots are showing 
Bryce