LUID (Structures)
Last changed: 223.104.45.153

.
Summary
A 64-bit value guaranteed to be unique only on the system on which it was generated... until the system is restarted.

C# Definition:

[StructLayout(LayoutKind.Sequential)]
public struct LUID {
   public UInt32 LowPart;
   public Int32 HighPart;
}

VB Definition:

Structure LUID
   Public LowPart As Integer
   Public HighPart As Integer
End Structure

Notes:

Why is this defined as two ints instead of a long? As far as I can see there's no need to treat it as anything other than an opaque 64 bit field.

Answer:

This more closely matches the SDK definition of the structure. The LowPart is a DWORD (unsigned), and the HighPart is a LONG (signed).

Additionally you will fall into trouble with memory alignment when you define UInt64 instead of LUID structure.

Documentation
LUID on MSDN