Hello!

I compiled the following using msvc:

----------8<---------------------------
#include <stdio.h>
#include <windows.h>

typedef short CSHORT;
typedef struct {
        CSHORT Year;
        CSHORT Month;
        CSHORT Day;
        CSHORT Hour;
        CSHORT Minute;
        CSHORT Second;
        CSHORT Milliseconds;
        CSHORT Weekday;
} TIME_FIELDS, *PTIME_FIELDS;


typedef VOID (*RtlTimeToTimeFieldsT)
        (PLARGE_INTEGER Time, PTIME_FIELDS TimeFields);

int
main()
{
        LARGE_INTEGER RtlTime;
        TIME_FIELDS tf;
        HINSTANCE hLib;
        RtlTimeToTimeFieldsT RtlTimeToTimeFields;

        RtlTime.LowPart = 0x20de5700;
        RtlTime.HighPart = 0x1c27d90;

        hLib = LoadLibrary("ntdll");

        RtlTimeToTimeFields =
                (RtlTimeToTimeFieldsT)GetProcAddress                                   
 (hLib,
"RtlTimeToTimeFields");

        RtlTimeToTimeFields(&RtlTime, &tf);

        FreeLibrary(hLib);

        printf("%d %d %d %d %d %d\n",
                tf.Year, tf.Month, tf.Day,
                tf.Hour, tf.Minute, tf.Second);
        return 0;
}
----------8<---------------------------

with the following output on win2k.
9 0 10 0 9 10

Reply via email to