Esempio n. 1
0
        /// <summary>
        /// Gets the calling convention for a p/invoke mapping.
        /// </summary>
        /// <param name="attrs">The p/invoke mapping attributes.</param>
        /// <returns>The calling convention used by the mapping.</returns>
        public static ClrCallingConvention GetCallingConvention(this ClrPinvokeMapAttributes attrs)
        {
            const int mask  = (int)ClrPinvokeMapAttributes.CallingConventionMask;
            const int shift = 8;

            return((ClrCallingConvention)(((int)attrs & mask) >> shift));
        }
Esempio n. 2
0
        /// <summary>
        /// Gets the character set for a p/invoke mapping.
        /// </summary>
        /// <param name="attrs">The p/invoke mapping attributes.</param>
        /// <returns>The character set used by the mapping.</returns>
        public static ClrCharacterSet GetCharacterSet(this ClrPinvokeMapAttributes attrs)
        {
            const int mask  = (int)ClrPinvokeMapAttributes.CharSetMask;
            const int shift = 1;

            return((ClrCharacterSet)(((int)attrs & mask) >> shift));
        }