<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.owasp.org/index.php?action=history&amp;feed=atom&amp;title=RuntimeMethodHandle.GetFunctionPointer%28%29_doesn%27t_demand_UnmanagedCode_Security_Permission</id>
		<title>RuntimeMethodHandle.GetFunctionPointer() doesn't demand UnmanagedCode Security Permission - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.owasp.org/index.php?action=history&amp;feed=atom&amp;title=RuntimeMethodHandle.GetFunctionPointer%28%29_doesn%27t_demand_UnmanagedCode_Security_Permission"/>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=RuntimeMethodHandle.GetFunctionPointer()_doesn%27t_demand_UnmanagedCode_Security_Permission&amp;action=history"/>
		<updated>2026-04-11T16:01:35Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.27.2</generator>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=RuntimeMethodHandle.GetFunctionPointer()_doesn%27t_demand_UnmanagedCode_Security_Permission&amp;diff=59146&amp;oldid=prev</id>
		<title>KirstenS at 11:40, 17 April 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=RuntimeMethodHandle.GetFunctionPointer()_doesn%27t_demand_UnmanagedCode_Security_Permission&amp;diff=59146&amp;oldid=prev"/>
				<updated>2009-04-17T11:40:54Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 11:40, 17 April 2009&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l61&quot; &gt;Line 61:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 61:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; &amp;lt;IPermission class=&amp;quot;System.Security.Permissions.SecurityPermission, mscorlib, Vrsion=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&amp;quot; version=&amp;quot;1&amp;quot;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  Flags=&amp;quot;UnmanagedCode&amp;quot;/&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; &amp;lt;IPermission class=&amp;quot;System.Security.Permissions.SecurityPermission, mscorlib, Vrsion=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&amp;quot; version=&amp;quot;1&amp;quot;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  Flags=&amp;quot;UnmanagedCode&amp;quot;/&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;I did attempt searching in [http://msdn.microsoft.com/netframework/programming/breakingchanges/default.aspx Breaking Changes in .NET Framework 2.0] for this but since there is not search funcionality in there I gave up&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;I did attempt searching in [http://msdn.microsoft.com/netframework/programming/breakingchanges/default.aspx Breaking Changes in .NET Framework 2.0] for this but since there is not search funcionality in there I gave up&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[Category:FIXME|link not working]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:OWASP .NET Project]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:OWASP .NET Project]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>KirstenS</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=RuntimeMethodHandle.GetFunctionPointer()_doesn%27t_demand_UnmanagedCode_Security_Permission&amp;diff=59145&amp;oldid=prev</id>
		<title>KirstenS at 11:40, 17 April 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=RuntimeMethodHandle.GetFunctionPointer()_doesn%27t_demand_UnmanagedCode_Security_Permission&amp;diff=59145&amp;oldid=prev"/>
				<updated>2009-04-17T11:40:19Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 11:40, 17 April 2009&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;According to the official documentation&amp;#160; the System RuntimeMethodHandle.GetFunctionPointer Method&amp;#160; requires &amp;quot;''SecurityPermission for the ability to call unmanaged code. Associated enumeration: [http://msdn.microsoft.com/library/en-us/cpref/html/frlrfsystemsecuritypermissionssecuritypermissionflagclasstopic.asp SecurityPermissionFlag.UnmanagedCode]''&amp;quot; (for 1.1 see&amp;#160; [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemRuntimeMethodHandleClassGetFunctionPointerTopic.asp RuntimeMethodHandle.GetFunctionPointer Method]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;According to the official documentation&amp;#160; the System RuntimeMethodHandle.GetFunctionPointer Method&amp;#160; requires &amp;quot;''SecurityPermission for the ability to call unmanaged code. Associated enumeration: [http://msdn.microsoft.com/library/en-us/cpref/html/frlrfsystemsecuritypermissionssecuritypermissionflagclasstopic.asp SecurityPermissionFlag.UnmanagedCode]''&amp;quot; &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[Category:FIXME|link not working]]&lt;/ins&gt;(for 1.1 see&amp;#160; [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemRuntimeMethodHandleClassGetFunctionPointerTopic.asp RuntimeMethodHandle.GetFunctionPointer Method]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;for 2.0 see [http://msdn2.microsoft.com/en-us/library/system.runtimemethodhandle.getfunctionpointer.aspx RuntimeMethodHandle.GetFunctionPointer Method])&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;for 2.0 see [http://msdn2.microsoft.com/en-us/library/system.runtimemethodhandle.getfunctionpointer.aspx RuntimeMethodHandle.GetFunctionPointer Method])&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>KirstenS</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=RuntimeMethodHandle.GetFunctionPointer()_doesn%27t_demand_UnmanagedCode_Security_Permission&amp;diff=7539&amp;oldid=prev</id>
		<title>Dinis.cruz at 20:38, 18 July 2006</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=RuntimeMethodHandle.GetFunctionPointer()_doesn%27t_demand_UnmanagedCode_Security_Permission&amp;diff=7539&amp;oldid=prev"/>
				<updated>2006-07-18T20:38:07Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 20:38, 18 July 2006&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l62&quot; &gt;Line 62:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 62:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;I did attempt searching in [http://msdn.microsoft.com/netframework/programming/breakingchanges/default.aspx Breaking Changes in .NET Framework 2.0] for this but since there is not search funcionality in there I gave up&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;I did attempt searching in [http://msdn.microsoft.com/netframework/programming/breakingchanges/default.aspx Breaking Changes in .NET Framework 2.0] for this but since there is not search funcionality in there I gave up&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:OWASP .NET Project]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Dinis.cruz</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=RuntimeMethodHandle.GetFunctionPointer()_doesn%27t_demand_UnmanagedCode_Security_Permission&amp;diff=7538&amp;oldid=prev</id>
		<title>Dinis.cruz at 20:37, 18 July 2006</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=RuntimeMethodHandle.GetFunctionPointer()_doesn%27t_demand_UnmanagedCode_Security_Permission&amp;diff=7538&amp;oldid=prev"/>
				<updated>2006-07-18T20:37:50Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;According to the official documentation  the System RuntimeMethodHandle.GetFunctionPointer Method  requires &amp;quot;''SecurityPermission for the ability to call unmanaged code. Associated enumeration: [http://msdn.microsoft.com/library/en-us/cpref/html/frlrfsystemsecuritypermissionssecuritypermissionflagclasstopic.asp SecurityPermissionFlag.UnmanagedCode]''&amp;quot; (for 1.1 see  [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemRuntimeMethodHandleClassGetFunctionPointerTopic.asp RuntimeMethodHandle.GetFunctionPointer Method]&lt;br /&gt;
for 2.0 see [http://msdn2.microsoft.com/en-us/library/system.runtimemethodhandle.getfunctionpointer.aspx RuntimeMethodHandle.GetFunctionPointer Method])&lt;br /&gt;
&lt;br /&gt;
Using Reflector we can see that in 1.1 this is enforced by a [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpcondemands.asp declarative] Security Demand:&lt;br /&gt;
&lt;br /&gt;
 [SecurityPermission(SecurityAction.Demand, UnmanagedCode=true)]&lt;br /&gt;
 public IntPtr GetFunctionPointer()&lt;br /&gt;
 {&lt;br /&gt;
      return RuntimeMethodHandle.InternalGetFunctionPointer(this.m_ptr);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
but in 2.0 there is no security demand:&lt;br /&gt;
&lt;br /&gt;
 [MethodImpl(MethodImplOptions.InternalCall)]&lt;br /&gt;
 public extern IntPtr GetFunctionPointer();&lt;br /&gt;
&lt;br /&gt;
This means that this code works in a 2.0 Partial Trust environment:&lt;br /&gt;
&lt;br /&gt;
 using System;&lt;br /&gt;
 using System.Reflection;&lt;br /&gt;
&lt;br /&gt;
 namespace Owasp&lt;br /&gt;
 {&lt;br /&gt;
    public class GetFunctionPointer&lt;br /&gt;
    {&lt;br /&gt;
        public static void Main()&lt;br /&gt;
        {&lt;br /&gt;
            Type tType = Type.GetType(&amp;quot;Owasp.GetFunctionPointer&amp;quot;); //(&amp;quot;System.String&amp;quot;);&lt;br /&gt;
            MethodInfo[] miMethods = tType.GetMethods();&lt;br /&gt;
            foreach (MethodInfo mi in miMethods)&lt;br /&gt;
            {&lt;br /&gt;
                Console.WriteLine(mi.Name + &amp;quot; : &amp;quot; +  Convert.ToString(mi.MethodHandle.GetFunctionPointer().ToInt64(),16));&lt;br /&gt;
            }&lt;br /&gt;
            Console.WriteLine(&amp;quot;\n\n---------------\n\n&amp;quot;);&lt;br /&gt;
            Console.ReadLine();&lt;br /&gt;
            //MethodInfo mi = new MethodInfo()&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
output:&lt;br /&gt;
&lt;br /&gt;
 Z:\&amp;gt;GetFunctionPointer.exe&lt;br /&gt;
 Main : c80070&lt;br /&gt;
 GetType : 79690ccc&lt;br /&gt;
 ToString : 9127cc&lt;br /&gt;
 Equals : 9127e0&lt;br /&gt;
 GetHashCode : 9127f4&lt;br /&gt;
&lt;br /&gt;
i.e. it worked!&lt;br /&gt;
&lt;br /&gt;
Where in 1.1, the same code throws (as expected) a security exception:&lt;br /&gt;
&lt;br /&gt;
 Unhandled Exception: System.Security.SecurityException: Request for the permisson of type System.Security.Permissions.SecurityPermission, mscorlib, Version=1..5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 failed.  &lt;br /&gt;
    at  System.Security.CodeAccessSecurityEngine.CheckTokenBasedSetHelper(Boolean ignoreGrants, TokenBasedSet grants, TokenBasedSet denied, TokenBasedSet demands &lt;br /&gt;
    at System.Security.CodeAccessSecurityEngine.CheckSetHelper(PermissionSet grants, PermissionSet denied, PermissionSet demands) &lt;br /&gt;
    at System.RuntimeMethodHandle.GetFunctionPointer()  &lt;br /&gt;
    at Owasp.GetFunctionPointer.Main()&lt;br /&gt;
&lt;br /&gt;
 The state of the failed permission was:&lt;br /&gt;
 &amp;lt;IPermission class=&amp;quot;System.Security.Permissions.SecurityPermission, mscorlib, Vrsion=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&amp;quot; version=&amp;quot;1&amp;quot;             Flags=&amp;quot;UnmanagedCode&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I did attempt searching in [http://msdn.microsoft.com/netframework/programming/breakingchanges/default.aspx Breaking Changes in .NET Framework 2.0] for this but since there is not search funcionality in there I gave up&lt;/div&gt;</summary>
		<author><name>Dinis.cruz</name></author>	</entry>

	</feed>