Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

108 lines
4.2 KiB

  1. #ifndef _ntddredb_w_
  2. #define _ntddredb_w_
  3. // MSRedbook_DriverInformation - REDBOOK_WMI_STD_DATA
  4. // Digital Audio Filter Driver Information (redbook)
  5. #define GUID_REDBOOK_WMI_STD_DATA \
  6. { 0xb90550e7,0xae0a,0x11d1, { 0xa5,0x71,0x00,0xc0,0x4f,0xa3,0x47,0x30 } }
  7. #if ! (defined(MIDL_PASS))
  8. DEFINE_GUID(MSRedbook_DriverInformationGuid, \
  9. 0xb90550e7,0xae0a,0x11d1,0xa5,0x71,0x00,0xc0,0x4f,0xa3,0x47,0x30);
  10. #endif
  11. typedef struct _REDBOOK_WMI_STD_DATA
  12. {
  13. // NumberOfBuffers*SectorsPerRead*2352 is the amount of memory used to reduce skipping.
  14. ULONG NumberOfBuffers;
  15. #define REDBOOK_WMI_NUMBER_OF_BUFFERS_SIZE sizeof(ULONG)
  16. #define REDBOOK_WMI_NUMBER_OF_BUFFERS_ID 1
  17. // Sectors (2352 bytes each) per read.
  18. ULONG SectorsPerRead;
  19. #define REDBOOK_WMI_SECTORS_PER_READ_SIZE sizeof(ULONG)
  20. #define REDBOOK_WMI_SECTORS_PER_READ_ID 2
  21. // Bitwise mask of supported sectors per read for this drive. The lowest bit is one sector reads. If all bits are set, there are no restrictions.
  22. ULONG SectorsPerReadMask;
  23. #define REDBOOK_WMI_SECTORS_PER_READ_MASK_SIZE sizeof(ULONG)
  24. #define REDBOOK_WMI_SECTORS_PER_READ_MASK_ID 3
  25. // Maximum sectors per read (depends on both adapter and drive).
  26. ULONG MaximumSectorsPerRead;
  27. #define REDBOOK_WMI_MAX_SECTORS_PER_READ_SIZE sizeof(ULONG)
  28. #define REDBOOK_WMI_MAX_SECTORS_PER_READ_ID 4
  29. // PlayEnabled indicates the drive is currently using the RedBook filter.
  30. BOOLEAN PlayEnabled;
  31. #define REDBOOK_WMI_PLAY_ENABLED_SIZE sizeof(BOOLEAN)
  32. #define REDBOOK_WMI_PLAY_ENABLED_ID 5
  33. // CDDASupported indicates the drive supports digital audio for some sector sizes.
  34. BOOLEAN CDDASupported;
  35. #define REDBOOK_WMI_CDDA_SUPPORTED_SIZE sizeof(BOOLEAN)
  36. #define REDBOOK_WMI_CDDA_SUPPORTED_ID 6
  37. // CDDAAccurate indicates the drive acccurately reads digital audio. This ensures the highest quality audio
  38. BOOLEAN CDDAAccurate;
  39. #define REDBOOK_WMI_CDDA_ACCURATE_SIZE sizeof(BOOLEAN)
  40. #define REDBOOK_WMI_CDDA_ACCURATE_ID 7
  41. // Reserved for future use
  42. BOOLEAN Reserved1;
  43. #define REDBOOK_WMI_STD_DATA_Reserved1_SIZE sizeof(BOOLEAN)
  44. #define REDBOOK_WMI_STD_DATA_Reserved1_ID 8
  45. } REDBOOK_WMI_STD_DATA, *PREDBOOK_WMI_STD_DATA;
  46. #define REDBOOK_WMI_STD_DATA_SIZE (FIELD_OFFSET(REDBOOK_WMI_STD_DATA, Reserved1) + REDBOOK_WMI_STD_DATA_Reserved1_SIZE)
  47. // MSRedbook_Performance - REDBOOK_WMI_PERF_DATA
  48. // Digital Audio Filter Driver Performance Data (redbook)
  49. #define GUID_REDBOOK_WMI_PERF_DATA \
  50. { 0xb90550e8,0xae0a,0x11d1, { 0xa5,0x71,0x00,0xc0,0x4f,0xa3,0x47,0x30 } }
  51. #if ! (defined(MIDL_PASS))
  52. DEFINE_GUID(MSRedbook_PerformanceGuid, \
  53. 0xb90550e8,0xae0a,0x11d1,0xa5,0x71,0x00,0xc0,0x4f,0xa3,0x47,0x30);
  54. #endif
  55. typedef struct _REDBOOK_WMI_PERF_DATA
  56. {
  57. // Seconds spent ready to read, but unused. (*1E-7)
  58. LONGLONG TimeReadDelay;
  59. #define REDBOOK_WMI_PERF_TIME_READING_DELAY_SIZE sizeof(LONGLONG)
  60. #define REDBOOK_WMI_PERF_TIME_READING_DELAY_ID 1
  61. // Seconds spent reading data from source. (*1E-7)
  62. LONGLONG TimeReading;
  63. #define REDBOOK_WMI_PERF_TIME_READING_SIZE sizeof(LONGLONG)
  64. #define REDBOOK_WMI_PERF_TIME_READING_ID 2
  65. // Seconds spent ready to stream, but unused. (*1E-7)
  66. LONGLONG TimeStreamDelay;
  67. #define REDBOOK_WMI_PERF_TIME_STREAMING_DELAY_SIZE sizeof(LONGLONG)
  68. #define REDBOOK_WMI_PERF_TIME_STREAMING_DELAY_ID 3
  69. // Seconds spent streaming data. (*1E-7)
  70. LONGLONG TimeStreaming;
  71. #define REDBOOK_WMI_PERF_TIME_STREAMING_SIZE sizeof(LONGLONG)
  72. #define REDBOOK_WMI_PERF_TIME_STREAMING_ID 4
  73. // Number of bytes of data read and streamed.
  74. LONGLONG DataProcessed;
  75. #define REDBOOK_WMI_PERF_DATA_PROCESSED_SIZE sizeof(LONGLONG)
  76. #define REDBOOK_WMI_PERF_DATA_PROCESSED_ID 5
  77. // Number of times the stream has paused due to insufficient stream buffers.
  78. ULONG StreamPausedCount;
  79. #define REDBOOK_WMI_PERF_STREAM_PAUSED_COUNT_SIZE sizeof(ULONG)
  80. #define REDBOOK_WMI_PERF_STREAM_PAUSED_COUNT_ID 6
  81. } REDBOOK_WMI_PERF_DATA, *PREDBOOK_WMI_PERF_DATA;
  82. #define REDBOOK_WMI_PERF_DATA_SIZE (FIELD_OFFSET(REDBOOK_WMI_PERF_DATA, StreamPausedCount) + REDBOOK_WMI_PERF_DATA_StreamPausedCount_SIZE)
  83. #endif