Firstly the structure u seems redundant. Microsoft supports anonymous structures:
http://msdn.microsoft.com/en-us/library/z2cx9y4f.aspx[
^]
Thus in a Microsoft environment you could write:
LARGE_INTEGER li;
li.LowPart = 1;
This is non-portable so to make it portable the named structure u is added. Now you can write:
li.u.LowPart = 1;
Use it where _int64 is not supported.