Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Vorgesehen für die Bereitstellung benutzerdefinierter Wrapper, mit denen Methodenaufrufe behandelt werden.
Namespace: System.Runtime.InteropServices
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
<ComVisibleAttribute(True)> _
Public Interface ICustomMarshaler
'Usage
Dim instance As ICustomMarshaler
[ComVisibleAttribute(true)]
public interface ICustomMarshaler
[ComVisibleAttribute(true)]
public interface class ICustomMarshaler
/** @attribute ComVisibleAttribute(true) */
public interface ICustomMarshaler
ComVisibleAttribute(true)
public interface ICustomMarshaler
Hinweise
Wenn Sie einen benutzerdefinierten Marshaller verwenden möchten, müssen Sie das MarshalAsAttribute auf den Parameter oder das Feld anwenden, das gemarshallt werden soll. Sie müssen außerdem UnmanagedType.CustomMarshaler an den Konstruktor übergeben und den MarshalType angeben. Das Attribut gibt den entsprechenden benutzerdefinierten Marshaller zum Aktivieren des entsprechenden Wrappers an. Der Interop-Dienst der Common Language Runtime überprüft anschließend das Attribut und erstellt beim Marshallen des Arguments den benutzerdefinierten Marshaller. Die MarshalNativeToManaged-Methode und die MarshalManagedToNative-Methode des benutzerdefinierten Marshaller werden aufgerufen, um den richtigen Wrapper für die Aufrufbehandlung zu aktivieren.
Neben der Implementierung der ICustomMarshaler-Schnittstelle müssen benutzerdefinierte Marshaller eine static-Methode mit der Bezeichnung GetInstance implementieren, die einen String als Parameter akzeptiert und deren Rückgabetyp ICustomMarshaler ist. Diese static-Methode wird von der COM-Interop-Schicht der Common Language Runtime aufgerufen, um eine Instanz des benutzerdefinierten Marshaller zu instanziieren. Der an GetInstance übergebene String ist ein Cookie, mit dessen Hilfe die Methode den zurückgegebenen benutzerdefinierten Marshaller anpassen kann.
Plattformen
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
Siehe auch
Referenz
ICustomMarshaler-Member
System.Runtime.InteropServices-Namespace