如何產生UUID?

在程式有時會需要產生unique的編碼,有些人便想到用UUID,但是怎麼產生UUID呢? Microsoft已經為我們準備了API, 經由呼叫這些API,就可輕鬆產生UUID,底下是我寫的範例程式。

#include <windows.h>
#include <Rpcdce.h>
#include <stdio.h>

void main()
{
    UUID uuid;
    if (UuidCreate(&uuid) == RPC_S_OK) {
        unsigned char *strUuid;
        if (UuidToString(&uuid, &strUuid) == RPC_S_OK) {
            printf("UUID: %s\n", strUuid);
            if (RpcStringFree(&strUuid) != RPC_S_OK)
                printf("RpcStringFree fail!\n");
        }
        else {
            printf("UuidToString fail!\n");
        }
    }
    else {
        printf("UuidCreate fail!\n");
    }
}