StructLayoutAttribute.CharSet Field
Indicates whether string data fields within the class should be marshaled as LPWSTR or LPSTR by default.
Namespace: System.Runtime.InteropServices
Assembly: mscorlib (in mscorlib.dll)
If the CharSet field is set to CharSet.Unicode, all string arguments are converted to Unicode characters (LPWSTR) before they are passed to the unmanaged implementation. If the field is set to CharSet.Ansi, the strings are converted to ANSI strings (LPSTR). If the CharSet field is set to CharSet.Auto, the conversion is platform-dependent (ANSI on Windows 98 and Windows Me, and Unicode on later versions).
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.