Exemplo n.º 1
0
        public PermissionSetProps GetPermissionSetProps(uint permToken)
        {
            PermissionSetProps ret = new PermissionSetProps();
            IntPtr             permPtr;
            uint permSize;

            ret.PermToken = permToken;
            metaData.GetPermissionSetProps(
                ret.PermToken,
                out ret.Action,
                out permPtr,
                out permSize
                );
            ret.SigBlob = new Blob(permPtr, permSize);
            return(ret);
        }
Exemplo n.º 2
0
		public unsafe static byte[] GetPermissionSetBlob(IMetaDataImport mdi, uint token) {
			if (mdi == null)
				return null;
			IntPtr pvPermission;
			uint cbPermission;
			int hr = mdi.GetPermissionSetProps(token, IntPtr.Zero, new IntPtr(&pvPermission), new IntPtr(&cbPermission));
			if (hr != 0 || pvPermission == IntPtr.Zero)
				return null;

			var sig = new byte[cbPermission];
			Marshal.Copy(pvPermission, sig, 0, sig.Length);
			return sig;
		}
Exemplo n.º 3
0
		public unsafe static SecurityAction GetPermissionSetAction(IMetaDataImport mdi, uint token) {
			if (mdi == null)
				return 0;
			uint dwAction;
			int hr = mdi.GetPermissionSetProps(token, new IntPtr(&dwAction), IntPtr.Zero, IntPtr.Zero);
			return hr != 0 ? 0 : (SecurityAction)dwAction;
		}