6 unsigned long HighPart;
9 LARGE_INTEGER LargeIntegerAdd(LARGE_INTEGER a, LARGE_INTEGER b);
10 LARGE_INTEGER LargeIntegerSubtract(LARGE_INTEGER a, LARGE_INTEGER b);
11 /*int LargeIntegerGreaterThan(LARGE_INTEGER a, LARGE_INTEGER b);
12 int LargeIntegerGreaterThanOrEqualTo(LARGE_INTEGER a, LARGE_INTEGER b);
13 int LargeIntegerEqualTo(LARGE_INTEGER a, LARGE_INTEGER b);
14 int LargeIntegerGreaterOrEqualToZero(LARGE_INTEGER a);
15 int LargeIntegerLessThanZero(LARGE_INTEGER a);*/
16 LARGE_INTEGER ConvertLongToLargeInteger(unsigned long a);
17 LARGE_INTEGER LargeIntegerMultiplyByLong(LARGE_INTEGER a, unsigned long b);
18 unsigned long LargeIntegerDivideByLong(LARGE_INTEGER a, unsigned long b);
20 #define LargeIntegerGreaterThan(a, b) \
21 ((a).HighPart > (b).HighPart || \
22 ((a).HighPart == (b).HighPart && (a).LowPart > (b).LowPart))
24 #define LargeIntegerGreaterThanOrEqualTo(a, b) \
25 ((a).HighPart > (b).HighPart || \
26 ((a).HighPart == (b).HighPart && (a).LowPart >= (b).LowPart))
28 #define LargeIntegerLessThan(a, b) \
29 ((a).HighPart < (b).HighPart || \
30 ((a).HighPart == (b).HighPart && (a).LowPart < (b).LowPart))
32 #define LargeIntegerLessThanOrEqualTo(a, b) \
33 ((a).HighPart < (b).HighPart || \
34 ((a).HighPart == (b).HighPart && (a).LowPart <= (b).LowPart))
36 #define LargeIntegerEqualTo(a, b) \
37 ((a).HighPart == (b).HighPart && (a).LowPart == (b).LowPart)
39 #define LargeIntegerGreaterOrEqualToZero(a) ((a).HighPart >= 0)
41 #define LargeIntegerLessThanZero(a) ((a).HighPart < 0)
43 #define LargeIntegerNotEqualToZero(a) ((a).HighPart || (a).LowPart)