MS Shared Source CLI (Codename Rotor) Beispiel für Platform Invoke [DllImport(ROTOR_PALRT, CharSet.Unicode, EntryPoint="CryptAcquireContextW")] internal extern static bool CryptAcquireContext(out IntPtr hProv, [MarshalAs(UnmanagedType.LPWStr)] string container, [MarshalAs(UnmanagedType.LPWStr)] string provider, int provType, int flags); Die C-Funktion 'CryptAcquireContextW' (enthalten in rotor_palrt.dll bzw. librotor_palrt.so) soll benutzt werden. [MarshalAs...] legt hierbei fest, wie Argumente des Managed-Codes in solche des Native-Codes (hier C) übersetzt werden. Für die fehlenden WinForms-Klassen gibt es schon eine Wrapper-Bibliothek für TCL/TK, die diesen Mechanismus einsetzt