[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Unicode)]
public struct TIME_ZONE_INFORMATION
{
[MarshalAs(UnmanagedType.I4)]
public Int32 Bias;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst=32)]
public string StandardName;
public SYSTEMTIME StandardDate;
[MarshalAs(UnmanagedType.I4)]
public Int32 StandardBias;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst=32)]
public string DaylightName;
public SYSTEMTIME DaylightDate;
[MarshalAs(UnmanagedType.I4)]
public Int32 DaylightBias;
}
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)> _
Private Structure TIME_ZONE_INFORMATION
<MarshalAs(UnmanagedType.I4)> _
Public Bias As Integer
<MarshalAs(UnmanagedType.ByValTStr, SizeConst:=32)> _
Public StandardName As String
Public StandardDate As SYSTEMTIME
<MarshalAs(UnmanagedType.I4)> _
Public StandardBias As Integer
<MarshalAs(UnmanagedType.ByValTStr, SizeConst:=32)> _
Public DaylightName As String
Public DaylightDate As SYSTEMTIME
<MarshalAs(UnmanagedType.I4)> _
Public DaylightBias As Integer
End Structure
See also: http://www.pinvoke.net/default.aspx/Structures.SYSTEMTIME