systemtimetofiletime (kernel32)
Last changed: -203.3.76.4

.
Summary

C# Signature:

[DllImport("kernel32.dll")]
static extern bool SystemTimeToFileTime([In] IntPtr lpSystemTime,
   IntPtr lpFileTime);

User-Defined Types:

None.

Notes:

None.

Tips & Tricks:

Please add some!

Sample Code:

public static DateTime SytemTimeToDateTime(ref SYSTEMTIME st)

{

    //malloc the SystemTime structure
    int stLen = Marshal.SizeOf(st);
    IntPtr pSystemTime = Marshal.AllocHGlobal(stLen);
    // copy SystemTime structure to the global heap
    Marshal.StructureToPtr(st, pSystemTime, true);

    //now malloc the Filetime;
    long lFileTime = 0;
    int ftLen = sizeof(long);
    IntPtr pFileTime = Marshal.AllocHGlobal(ftLen);

    //call the kernal32.dll SystemTimToFileTime method
    SystemTimeToFileTime(pSystemTime, pFileTime);

    //marshal the Filetime back into managed memory
    lFileTime = Marshal.ReadInt64(pFileTime);

    // convvert filetime to System.DateTime class
    DateTime dt = DateTime.FromFileTimeUtc(lFileTime);

    //free up resources
    Marshal.FreeHGlobal(pSystemTime);
    Marshal.FreeHGlobal(pFileTime);

    return dt;    

}

Alternative Managed API:

Do you know one? Please contribute it!

Documentation