Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Weird behavior of UuidCreateSequential

Tags:

c++

uuid

windows

I have a software that runs over 2 000 computers on my company, without any issues.

This software, at some time, generate a GUID (or UUID) using UuidCreateSequential() (MSDN link).

The call usually returns RPC_S_OK on every computer. But on one of them, it always returns RPC_S_UUID_LOCAL_ONLY.

The documentation states that:

The UuidCreateSequential function returns RPC_S_UUID_LOCAL_ONLY when the originating computer does not have an ethernet/token ring (IEEE 802.x) address.

However, there seem to be no networking issues with this computer. It has a network card with both valid and unique MAC address and IP address, and it is working perfectly.

What else could cause UuidCreateSequential() to always return RPC_S_UUID_LOCAL_ONLY ? Have you ever experienced a similar situation ?

I this can help, the computer which has the issues runs an updated Windows XP, with Service Pack 3.

like image 391
ereOn Avatar asked Dec 23 '22 01:12

ereOn


1 Answers

I contacted Microsoft and it seems that bug occurs only on Windows XP, when the first byte of the MAC address is superior or equal to 0x80.

This has been fixed for Windows Vista and Windows Seven. It won't be fixed for Windows XP.

like image 118
ereOn Avatar answered Jan 04 '23 23:01

ereOn