asf_guids.h
上传用户:poi891205
上传日期:2013-07-15
资源大小:9745k
文件大小:8k
源码类别:

DVD

开发平台:

C/C++

  1. #ifndef __ASFGUIDS__
  2. #define __ASFGUIDS__
  3. #include "types.h"
  4. #ifndef EXTERN_C
  5. # ifdef __cplusplus
  6. #  define EXTERN_C extern "C"
  7. # else
  8. #  define EXTERN_C extern
  9. # endif
  10. #endif
  11. #ifndef GUID_ASF_DEFINED
  12. #define GUID_ASF_DEFINED
  13. typedef struct _GUID_ASF {          // size is 16
  14. UINT32 Data1;
  15. WORD Data2;
  16. WORD Data3;
  17. BYTE Data4[8];
  18. } GUID_ASF;
  19. #endif // GUID_ASF_DEFINED
  20. #ifdef INITGUID_ASF
  21. #define DEFINE_GUID_ASF(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) 
  22.         const GUID_ASF name 
  23.                 = { l, w1, w2, { b1, b2,  b3,  b4,  b5,  b6,  b7,  b8 } }
  24. #else // INITGUID_ASF
  25. #define DEFINE_GUID_ASF(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) 
  26.         EXTERN_C const GUID_ASF name
  27. #endif // INITGUID_ASF
  28. #ifndef IsEqualGUID_ASF
  29. #define IsEqualGUID_ASF(rguid1, rguid2) (!memcmp(rguid1, rguid2, sizeof(GUID_ASF)))
  30. #endif // IsEqualGUID_ASF
  31. DEFINE_GUID_ASF(CLSID_CAsfNullClockType,
  32.     0x1d70b760,0x748e,0x11cf,0x9c,0x0f,0x00,0xa0,0xc9,0x03,0x49,0xcb);
  33. DEFINE_GUID_ASF(CLSID_CAsfHeaderObjectV0,
  34.     0x75b22630,0x668e,0x11cf,0xa6,0xd9,0x00,0xaa,0x00,0x62,0xce,0x6c);
  35. DEFINE_GUID_ASF(CLSID_CAsfPropertiesObjectV0,
  36.     0x75b22631,0x668e,0x11cf,0xa6,0xd9,0x00,0xaa,0x00,0x62,0xce,0x6c);
  37. DEFINE_GUID_ASF(CLSID_CAsfPropertiesObjectV1,
  38.     0x2df6b870,0x8836,0x11cf,0xa9,0x04,0x00,0x80,0x5f,0x5c,0x44,0x2b);
  39. DEFINE_GUID_ASF(CLSID_CAsfPropertiesObjectV2, 
  40.     0x8cabdca1, 0xa947, 0x11cf, 0x8e, 0xe4, 0x0, 0xc0, 0xc, 0x20, 0x53, 0x65);
  41. DEFINE_GUID_ASF(CLSID_CAsfStreamPropertiesObjectV0,
  42.     0x75b22632,0x668e,0x11cf,0xa6,0xd9,0x00,0xaa,0x00,0x62,0xce,0x6c);
  43. DEFINE_GUID_ASF(CLSID_CAsfStreamPropertiesObjectV1, 
  44.     0xb7dc0791, 0xa9b7, 0x11cf, 0x8e, 0xe6, 0x0, 0xc0, 0xc, 0x20, 0x53, 0x65);
  45. DEFINE_GUID_ASF(CLSID_CAsfContentDescriptionObjectV0,
  46.     0x75b22633,0x668e,0x11cf,0xa6,0xd9,0x00,0xaa,0x00,0x62,0xce,0x6c);
  47. DEFINE_GUID_ASF(CLSID_CAsfMarkerObjectV0, 
  48.     0xf487cd01, 0xa951, 0x11cf, 0x8e, 0xe6, 0x0, 0xc0, 0xc, 0x20, 0x53, 0x65);
  49. DEFINE_GUID_ASF(CLSID_CAsfIndexObjectV0,
  50.     0x75b22634,0x668e,0x11cf,0xa6,0xd9,0x00,0xaa,0x00,0x62,0xce,0x6c);
  51. DEFINE_GUID_ASF(CLSID_CAsfIndexObjectV1, // obsolete
  52.     0xdb92ea11, 0xa951, 0x11cf, 0x8e, 0xe6, 0x0, 0xc0, 0xc, 0x20, 0x53, 0x65);
  53. DEFINE_GUID_ASF(CLSID_CAsfIndexObjectV2,
  54.     0x33000890, 0xe5b1, 0x11cf, 0x89, 0xf4, 0x0, 0xa0, 0xc9, 0x3, 0x49, 0xcb);
  55. DEFINE_GUID_ASF(CLSID_CAsfErrorCorrectionObjectV0,
  56.     0x75b22635,0x668e,0x11cf,0xa6,0xd9,0x00,0xaa,0x00,0x62,0xce,0x6c);
  57. DEFINE_GUID_ASF(CLSID_CAsfDataObjectV0,
  58.     0x75b22636,0x668e,0x11cf,0xa6,0xd9,0x00,0xaa,0x00,0x62,0xce,0x6c);
  59. DEFINE_GUID_ASF(CLSID_CAsfFramesObjectV0,
  60.     0x75b22637,0x668e,0x11cf,0xa6,0xd9,0x00,0xaa,0x00,0x62,0xce,0x6c);
  61. DEFINE_GUID_ASF(CLSID_CAsfClockObjectV0, 
  62.     0x5fbf03b5, 0xa92e, 0x11cf, 0x8e, 0xe3, 0x0, 0xc0, 0xc, 0x20, 0x53, 0x65);
  63. DEFINE_GUID_ASF(CLSID_CAsfStreamRoutingObjectV0, 
  64.     0x6ba83691, 0xb8d7, 0x11cf, 0x96, 0xc, 0x0, 0xa0, 0xc9, 0xa, 0x8e, 0x34);
  65. // {1EFB1A30-0B62-11d0-A39B-00A0C90348F6}
  66. DEFINE_GUID_ASF(CLSID_CAsfScriptCommandObjectV0,
  67.     0x1efb1a30, 0xb62, 0x11d0, 0xa3, 0x9b, 0x0, 0xa0, 0xc9, 0x3, 0x48, 0xf6);
  68. // {4B1ACBE3-100B-11d0-A39B-00A0C90348F6}
  69. DEFINE_GUID_ASF(CLSID_AsfXScriptCommandIndex, 
  70.             0x4b1acbe3,0x100b,0x11d0,0xa3,0x9b,0x0,0xa0,0xc9,0x3,0x48,0xf6);
  71. // {86D15240-311D-11d0-A3A4-00A0C90348F6}
  72. DEFINE_GUID_ASF(CLSID_CAsfCodecObjectV0, 
  73.     0x86d15240, 0x311d, 0x11d0, 0xa3, 0xa4, 0x0, 0xa0, 0xc9, 0x3, 0x48, 0xf6);
  74. // {1806D474-CADF-4509-A4BA-9AABCB96AAE8}
  75. DEFINE_GUID_ASF(CLSID_CAsfPaddingObjectV0, 
  76.     0x1806D474, 0xCADF, 0x4509, 0xa4, 0xba, 0x9a, 0xab, 0xcb, 0x96, 0xaa, 0xe8);
  77. //
  78. // ASF Mutual Exclusion Object == {0xD6E229DC-35DA-11D1-9034-00A0C90349BE}
  79. //
  80. DEFINE_GUID_ASF( CLSID_CAsfMutualExclusionObject,
  81.     0xD6E229DC, 0x35DA, 0x11D1, 0x90, 0x34, 0x00, 0xA0, 0xC9, 0x03, 0x49, 0xBE );
  82. //
  83. // Same content different bitrates == {0xD6E22A01-35DA-11D1-9034-00A0C90349BE}
  84. //
  85. DEFINE_GUID_ASF( CLSID_SameContentDifferentBitrates,
  86.     0xD6E22A01, 0x35DA, 0x11D1, 0x90, 0x34, 0x00, 0xA0, 0xC9, 0x03, 0x49, 0xBE );
  87. //
  88. // ASF Extended Stream Properties Object == {7BF875CE-468D-11d1-8D82-006097C9A2B2}
  89. //
  90. DEFINE_GUID_ASF( CLSID_CAsfExtendedStreamPropertiesObject,
  91.     0x7bf875ce, 0x468d, 0x11d1, 0x8d, 0x82, 0x0, 0x60, 0x97, 0xc9, 0xa2, 0xb2 );
  92. //
  93. // ASF Content Branding Object == {2211B3FA-BD23-11d2-B4B7-00A0C955FC6E}
  94. //
  95. DEFINE_GUID_ASF( CLSID_CAsfContentBrandingObject, 
  96.     0x2211b3fa, 0xbd23, 0x11d2, 0xb4, 0xb7, 0x0, 0xa0, 0xc9, 0x55, 0xfc, 0x6e );
  97. //
  98. // ASF Content Encryption Object == {2211B3FB-BD23-11d2-B4B7-00A0C955FC6E}
  99. //
  100. DEFINE_GUID_ASF( CLSID_CAsfContentEncryptionObject, 
  101.     0x2211b3fb, 0xbd23, 0x11d2, 0xb4, 0xb7, 0x0, 0xa0, 0xc9, 0x55, 0xfc, 0x6e );
  102. DEFINE_GUID_ASF( CLSID_CAsfContentEncryptionObjectEx,
  103.     0x298ae614, 0x2622, 0x4c17, 0xb9, 0x35, 0xda, 0xe0, 0x7e, 0xe9, 0x28, 0x9c);
  104. //
  105. // ASF Digital Signature Object == {2211B3FC-BD23-11d2-B4B7-00A0C955FC6E}
  106. //
  107. DEFINE_GUID_ASF( CLSID_CAsfDigitalSignatureObject, 
  108.     0x2211b3fc, 0xbd23, 0x11d2, 0xb4, 0xb7, 0x0, 0xa0, 0xc9, 0x55, 0xfc, 0x6e );
  109. //
  110. // ASF Extended Content Desc Object == {D2D0A440-E307-11d2-97F0-00A0C95EA850}
  111. //
  112. DEFINE_GUID_ASF( CLSID_CAsfExtendedContentDescObject, 
  113.     0xd2d0a440, 0xe307, 0x11d2, 0x97, 0xf0, 0x0, 0xa0, 0xc9, 0x5e, 0xa8, 0x50);
  114. // Clock types
  115. // {ABD3D211-A9BA-11cf-8EE6-00C00C205365}
  116. DEFINE_GUID_ASF(CLSID_CAsfPacketClock1, 
  117.     0xabd3d211, 0xa9ba, 0x11cf, 0x8e, 0xe6, 0x0, 0xc0, 0xc, 0x20, 0x53, 0x65);
  118. // {ABD3D213-A9BA-11cf-8EE6-00C00C205365}
  119. DEFINE_GUID_ASF(CLSID_CAsfPacketClock2, 
  120.     0xabd3d213, 0xa9ba, 0x11cf, 0x8e, 0xe6, 0x0, 0xc0, 0xc, 0x20, 0x53, 0x65);
  121. // {ABD3D214-A9BA-11cf-8EE6-00C00C205365}
  122. DEFINE_GUID_ASF(CLSID_CAsfPacketClock3, 
  123.     0xabd3d214, 0xa9ba, 0x11cf, 0x8e, 0xe6, 0x0, 0xc0, 0xc, 0x20, 0x53, 0x65);
  124. // marker support
  125. //
  126. // {4CFEDB20-75F6-11cf-9C0F-00A0C90349CB}
  127. DEFINE_GUID_ASF( CLSID_AsfXMarkerIndex, 0x4cfedb20, 0x75f6, 0x11cf, 0x9c, 0xf, 0x0, 0xa0, 0xc9, 0x3, 0x49, 0xcb);
  128. DEFINE_GUID_ASF( CLSID_CAsfLicenseStoreObject, 
  129.     0x8fa7857b, 0xddc0, 0x11d3, 0xb6, 0xbd, 0x0, 0xc0, 0x4f, 0x61, 0xd, 0x62);
  130. DEFINE_GUID_ASF(CLSID_AsfXNPlus1Parity,
  131.     0x541d0f50,0x5b4b,0x11cf,0xa8,0xfd,0x00,0x80,0x5f,0x5c,0x44,0x2b);
  132. /*
  133.  * ======================================================================
  134.  * A Null error masking strategy for use until we get smarter.
  135.  * ======================================================================
  136.  */
  137. DEFINE_GUID_ASF(CLSID_AsfXNullErrorMaskingStrategy,
  138.     0x20fb5700,0x5b55,0x11cf,0xa8,0xfd,0x00,0x80,0x5f,0x5c,0x44,0x2b);
  139. DEFINE_GUID_ASF(CLSID_AsfXAcmAudioErrorMaskingStrategy,
  140.     0xbfc3cd50,0x618f,0x11cf,0x8b,0xb2,0x00,0xaa,0x00,0xb4,0xe2,0x20);
  141. // {49F1A440-4ECE-11d0-A3AC-00A0C90348F6}
  142. DEFINE_GUID_ASF(CLSID_AsfXSignatureAudioErrorMaskingStrategy, 
  143.     0x49f1a440, 0x4ece, 0x11d0, 0xa3, 0xac, 0x0, 0xa0, 0xc9, 0x3, 0x48, 0xf6);
  144. DEFINE_GUID_ASF(CLSID_AsfXStreamTypeAcmAudio,
  145.     0xf8699e40,0x5b4d,0x11cf,0xa8,0xfd,0x00,0x80,0x5f,0x5c,0x44,0x2b);
  146. DEFINE_GUID_ASF(CLSID_AsfXStreamTypeUncompressedDibVideo,
  147.     0x3725b2e0,0x5b4e,0x11cf,0xa8,0xfd,0x00,0x80,0x5f,0x5c,0x44,0x2b);
  148. DEFINE_GUID_ASF(CLSID_AsfXStreamTypeIcmVideo,
  149.     0xbc19efc0,0x5b4d,0x11cf,0xa8,0xfd,0x00,0x80,0x5f,0x5c,0x44,0x2b);
  150. DEFINE_GUID_ASF(CLSID_AsfXStreamTypeJpegJfifVideo,
  151.     0xb61be100,0x5b4e,0x11cf,0xa8,0xfd,0x00,0x80,0x5f,0x5c,0x44,0x2b);
  152. DEFINE_GUID_ASF(CLSID_AsfXStreamTypeAnsiUrl,
  153.     0x14082850,0x5b4f,0x11cf,0xa8,0xfd,0x00,0x80,0x5f,0x5c,0x44,0x2b);
  154. DEFINE_GUID_ASF(CLSID_AsfXStreamTypeDegradableJpeg,
  155.     0x35907de0,0xe415,0x11cf,0xa9,0x17,0x00,0x80,0x5f,0x5c,0x44,0x2b);
  156. // {59DACFC0-59E6-11d0-A3AC-00A0C90348F6}
  157. DEFINE_GUID_ASF(CLSID_AsfXStreamTypeScriptCommand, 
  158.     0x59dacfc0, 0x59e6, 0x11d0, 0xa3, 0xac, 0x0, 0xa0, 0xc9, 0x3, 0x48, 0xf6);
  159. // {86D15241-311D-11d0-A3A4-00A0C90348F6}
  160. DEFINE_GUID_ASF(CLSID_AsfXCodecList, 
  161.     0x86d15241, 0x311d, 0x11d0, 0xa3, 0xa4, 0x0, 0xa0, 0xc9, 0x3, 0x48, 0xf6);
  162. //
  163. // Good old SCR and duration clock license
  164. //
  165. // {97F6F860-747E-11cf-9C0F-00A0C90349CB}
  166. DEFINE_GUID_ASF( CLSID_AsfXPacketClock, 0x97f6f860, 0x747e, 0x11cf, 0x9c, 0xf, 0x0, 0xa0, 0xc9, 0x3, 0x49, 0xcb );
  167. //DEFINE_GUID_ASF( CLSID_AsfXMetaDataObject, 0xa69609e7, 0x517b, 0x11d2, 0xb6, 0xaf, 0x00, 0xc0, 0x4f, 0xd9, 0x08, 0xe9 );
  168. DEFINE_GUID_ASF( CLSID_AsfXMetaDataObject, 0xC5F8CBEA, 0x5BAF, 0x4877, 0x84, 0x67, 0xAA, 0x8C, 0x44, 0xFA, 0x4C, 0xCA );
  169. #endif //__ASFGUIDS__