Sie setzen es auf die Methode, die Sie von Kernel32.dll importieren.
Zum Beispiel
%Vor% Von @ dtb : Beachten Sie, dass die Klasse den Namen NativeMethods
, SafeNativeMethods
oder UnsafeNativeMethods
haben sollte. Weitere Informationen finden Sie unter Benennungskonvention für nicht verwaltete Codemethoden .
CA1060: P / Invokes in NativeMethods-Klasse verschieben :
NativeMethods - Diese Klasse unterdrückt Stackwalks nicht für die Berechtigung für nicht verwalteten Code. (System.Security.SuppressUnmanagedCodeSecurityAttribute darf nicht auf diese Klasse angewendet werden.) Diese Klasse ist für Methoden vorgesehen, die überall verwendet werden können, da ein Stack-Walk ausgeführt wird.
SafeNativeMethods - Diese Klasse unterdrückt Stackwalks für die Berechtigung für nicht verwalteten Code. (System.Security.SuppressUnmanagedCodeSecurityAttribute wird auf diese Klasse angewendet.) Diese Klasse ist für Methoden vorgesehen, die für jeden Benutzer sicher sind. Anrufer dieser Methoden müssen keine vollständige Sicherheitsüberprüfung durchführen, um sicherzustellen, dass die Verwendung sicher ist, da die Methoden für jeden Anrufer ungefährlich sind.
UnsafeNativeMethods - Diese Klasse unterdrückt Stackwalks für die Berechtigung für nicht verwalteten Code. (System.Security.SuppressUnmanagedCodeSecurityAttribute wird auf diese Klasse angewendet.) Diese Klasse ist für potenziell gefährliche Methoden vorgesehen. Jeder Aufrufer dieser Methoden muss eine vollständige Sicherheitsüberprüfung durchführen, um sicherzustellen, dass die Verwendung sicher ist, da kein Stack-Walk ausgeführt wird.
Dies ist ein Beispiel für DllImport
:
Ich empfehle Ihnen, Platform Invoke Tutorial zu studieren.