- PrevLuid.QuadPart = ExpLuid.QuadPart;
- for (NewLuid = ExpLuid.QuadPart + ExpLuidIncrement; ;
- NewLuid = PrevLuid.QuadPart + ExpLuidIncrement)
- {
- CompLuid = InterlockedCompareExchange64(&ExpLuid.QuadPart,
- NewLuid,
- PrevLuid.QuadPart);
- if (CompLuid == PrevLuid.QuadPart)
- {
- break;
- }
-
- PrevLuid.QuadPart = CompLuid;
- }
-
- LocallyUniqueId->LowPart = PrevLuid.LowPart;
- LocallyUniqueId->HighPart = PrevLuid.HighPart;