今天閱讀了《com技術內幕》中關於GUID一節,其中寫道“GUIDGEN.exe其實調用了Microsoft 的COM庫中的CoCreateGuid函數,CoCreateGuid將調用RPC函數UnidCreate”
in MSDN:
The UuidCreate function creates a new UUID.
#include <rpc.h>RPC_STATUS RPC_ENTRY UuidCreate( UUID * Uuid );
Parameters
-
Uuid
-
Returns a pointer to the created UUID.
Return Values
Value |
Meaning |
RPC_S_OK |
Success |
RPC_S_UUID_LOCAL_ONLY |
The UUID is guaranteed to be unique to this machine only. |
RPC_S_UUID_NO_ADDRESS |
Cannot get Ethernet or token-ring hardware address for this computer |
Remarks
In Windows NT, versions 4.0 and later, Windows 95, DCOM release, and Windows 98, UuidCreate returns RPC_S_UUID_LOCAL_ONLY when the originating machine does not have an ethernet/token ring (IEEE 802.x) address. In this case, the generated UUID is a valid identifier, and is guaranteed to be unique among all UUIDs generated on the machine. However, the possibility exists that another machine without an ethernet/token ring address generated the identical UUID. Therefore you should never use this UUID to identify an object that is not strictly local to your machine. Machines with ethernet/token ring addresses generate UUIDs that are guaranteed to be globally unique.