/// <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)); }
/// <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)); }