Exemplo n.º 1
0
        private void getProps()
        {
            if (_import == null || _token == 0)
            {
                return;
            }

            IntPtr ppBlob;
            uint   pcbSize;
            uint   objectToken;
            uint   ptkType;

            _import.GetCustomAttributeProps(_token, out objectToken, out ptkType, out ppBlob, out pcbSize);
            _name = new MetadataMethod(_import, ptkType).typeName.Replace("\0", string.Empty);
        }
Exemplo n.º 2
0
        public CustomAttributeProps GetCustomAttributeProps(uint token)
        {
            IntPtr blobPtr;
            uint   blobSize;
            CustomAttributeProps ret = new CustomAttributeProps();

            ret.Token = token;
            metaData.GetCustomAttributeProps(
                ret.Token,
                out ret.Owner,
                out ret.Type,
                out blobPtr,
                out blobSize
                );
            ret.Data = new Blob(blobPtr, blobSize);
            return(ret);
        }
Exemplo n.º 3
0
		public unsafe static byte[] GetCustomAttributeBlob(IMetaDataImport mdi, uint token, out uint typeToken) {
			typeToken = 0;
			if (mdi == null)
				return null;

			IntPtr pBlob;
			uint cbSize;
			int hr = mdi.GetCustomAttributeProps(token, IntPtr.Zero, out typeToken, out pBlob, out cbSize);
			if (hr != 0 || pBlob == IntPtr.Zero)
				return null;

			byte[] caBlob = new byte[cbSize];
			Marshal.Copy(pBlob, caBlob, 0, caBlob.Length);
			return caBlob;
		}