سؤال

في rpc.ساعة, GUID هيكل المعلنة على النحو التالي:

typedef struct _GUID 
{  
   DWORD Data1;  
   WORD Data2;  
   WORD Data3;  
   BYTE Data[8];
} GUID;

أنا أفهم Data1, Data2 ، Data3.أنها تحدد أول ، ثاني ، ثالث مجموعات من عرافة الأرقام عند الكتابة GUID (XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX).

ما لم افهمه هو سبب آخر 2 مجموعات وأعلن معا في نفس صفيف بايت.هذا لن يكون من المنطقي أكثر (و أسهل إلى رمز ضد)?

typedef struct _GUID 
{  
   DWORD Data1;  
   WORD Data2;  
   WORD Data3;  
   WORD Data4;  
   BYTE Data5[6]; 
} GUID;

أحد يعرف لماذا أعلن هذا الطريق ؟

هل كانت مفيدة؟

المحلول

وانها لأن GUID هو حالة خاصة من UUID . للحصول على معلومات حول ما تعنيه كل الحقول، يمكنك أن تبحث في RFC 4122 .

نصائح أخرى

http://en.wikipedia.org/wiki/Globally_Unique_Identifier و http://www.opengroup.org/onlinepubs/9629399/apdxa.htm (DCE هو الاصلي التمثيل ، يمكنك أن ترى مجموعة من بت هناك في الجدول)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top