CoCreateGuid content

Does anyone know if the code used in 'CoCreateGuid' is public domain? if so, where can I get it? (I need a GUID or similar mechanism in a infrastructure library that should not link with MFC/OLE).
Thanks,
Uri
urisAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

 
urisAuthor Commented:
Adjusted points to 50
0
 
jkrCommented:
The code isn't public domain, but the function isn't included in MFC/OLE lib's, it simply maps to 'UuidCreate()' from rpcrt4.dll (available on every Win32 system)
0

Experts Exchange Solution brought to you by ConnectWise

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
 
urisAuthor Commented:
Thanks, but again, is the code of 'UuidCreate' available for me? I want to write it (if possible) in my own library without having to link ANY other library.

Thanks
0
Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

 
jkrCommented:
I'm searching my archives at the moment - i know i have some examples here, but can't locate them at the moment. But be sure, if i find something, i'll post it for you ;-)
0
 
alexoCommented:
ftp://ftp.hkstar.com/.1/netinfo/internet-drafts/draft-leach-uuids-guids-01.txt

Hint: do not accept an answer until you are satisfied with the solution.
0
 
jkrCommented:
alexo - the original (and 'official') source of the document you mentioned is
'http://www.ietf.org/internet-drafts/draft-leach-uuids-guids-01.txt'
BTW: I almost forgot - the source code for 'uuid_create()' (OSF DCE RPC) is available with the Linux sources, so i'll search them when i have time to reboot ;-)
0
 
urisAuthor Commented:
Thanks guys. By the way, I am trying the code suggested at the end of this article, and there is something missing. They use includes and types defined in "MD5.h". Do you know what it is, and again, where can I get it?

Thanks again,
uris
0
 
alexoCommented:
>> the original (and 'official') source of the document you mentioned [...]
Yea I know, it was temporarily unavailable due to some reason so I did an ftp search on the name.
0
 
urisAuthor Commented:
Thanks guys. By the way, I am trying the code suggested at the end of this article, and there is something missing. They use includes and types defined in "MD5.h". Do you know what it is, and again, where can I get it?

Thanks again,
uris
0
 
jkrCommented:
md5.h is usually used for encryption purposes - it's quite small, so you'll find it below ;-)

/* MD5.H - header file for MD5C.C
 */

/* Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All
rights reserved.

License to copy and use this software is granted provided that it
is identified as the "RSA Data Security, Inc. MD5 Message-Digest
Algorithm" in all material mentioning or referencing this software
or this function.

License is also granted to make and use derivative works provided
that such works are identified as "derived from the RSA Data
Security, Inc. MD5 Message-Digest Algorithm" in all material
mentioning or referencing the derived work.

RSA Data Security, Inc. makes no representations concerning either
the merchantability of this software or the suitability of this
software for any particular purpose. It is provided "as is"
without express or implied warranty of any kind.

These notices must be retained in any copies of any part of this
documentation and/or software.
 */

/* MD5 context. */
typedef struct {
  UINT4 state[4];                                   /* state (ABCD) */
  UINT4 count[2];        /* number of bits, modulo 2^64 (lsb first) */
  unsigned char buffer[64];                         /* input buffer */
} MD5_CTX;

void MD5Init PROTO_LIST((MD5_CTX *));
void MD5Update PROTO_LIST((MD5_CTX *, unsigned char *, unsigned int));
void MD5Final PROTO_LIST((unsigned char [16], MD5_CTX *));

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.