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.

109 lines
2.7 KiB

  1. /* Copyright (c) Microsoft Corporation. All rights reserved. */
  2. #ifndef _BURNV_H_
  3. #define _BURNV_H_
  4. /*
  5. ** Make sure structures are byte aligned and fields are undecorated.
  6. */
  7. #ifdef __cplusplus
  8. extern "C" {
  9. #endif //__cplusplus
  10. #include "ntddscsi.h"
  11. #define _NTSCSI_USER_MODE_
  12. #include "scsi.h"
  13. #include "ImapiPub.h"
  14. /*
  15. * Typedefs.
  16. */
  17. typedef enum {
  18. eWriterErrorNone = 0,
  19. eWriterBurnStarted,
  20. eWriterBurnengError,
  21. eWriterDeviceUnsupported,
  22. eWriterImapiFailure,
  23. eWriterMediaNonerasable,
  24. eWriterMediaNotPresent,
  25. eWriterMediaNonwritable,
  26. eWriterTargetScsiError,
  27. eWriterTargetUnknownResponseTIB,
  28. eWin32Error,
  29. eWin32OverlappedError,
  30. eWriterAlloc,
  31. eWriterBufferSize,
  32. eWriterIntFnTab,
  33. eWriterIntImapi,
  34. eWriterIntList,
  35. eWriterInvalidData,
  36. eWriterBadHandle,
  37. eWriterInvalidParam,
  38. eWriterBurnError,
  39. eWriterGenFailure,
  40. eWriterRegistryError,
  41. eWriterStashFileOpen,
  42. eWriterBadSectionClose,
  43. eWriterPrematureTermination,
  44. eWriterWriteError,
  45. eWriterReadFileError,
  46. eWriterThreadCreationError,
  47. eWriterLossOfStreaming,
  48. eWriterClosingSession,
  49. eWriterWriteProtectedMedia,
  50. eWriterUnableToWriteToMedia,
  51. eWriterErrorMAX
  52. } WRITER_ERROR_TYPE, *PWRITER_ERROR_TYPE;
  53. typedef struct _BURNENG_ERROR_STATUS {
  54. WRITER_ERROR_TYPE BurnEngineError;
  55. } BURNENG_ERROR_STATUS, *PBURNENG_ERROR_STATUS;
  56. typedef enum {
  57. eOrderMethodMotorola = 1,
  58. eOrderMethodMAX
  59. } BURNENGV_AUDIO_BYTE_ORDERING_METHOD, *PBURNENGV_AUDIO_BYTE_ORDERING_METHOD;
  60. typedef struct _BURNENGV_IMAPI_SCSI_INFO
  61. {
  62. UCHAR ScsiStatus;
  63. SENSE_DATA SenseData;
  64. } BURNENGV_IMAPI_SCSI_INFO, *PBURNENGV_IMAPI_SCSI_INFO;
  65. typedef union _BURNENGV_ERROR_EXTRA_INFO
  66. {
  67. DWORD dwWin32Error;
  68. BURNENGV_IMAPI_SCSI_INFO imapiScsiError;
  69. BURNENG_ERROR_STATUS engErrorStatus;
  70. } BURNENGV_ERROR_EXTRA_INFO, *PBURNENGV_ERROR_EXTRA_INFO;
  71. typedef struct _WRITER_ERROR_INFO
  72. {
  73. DWORD errorType;
  74. BURNENGV_ERROR_EXTRA_INFO info;
  75. } WRITER_ERROR_INFO, *PWRITER_ERROR_INFO;
  76. typedef enum
  77. {
  78. evBurnProgressNoError = 0,
  79. evBurnProgressNotStarted,
  80. evBurnProgressBurning,
  81. evBurnProgressComplete,
  82. evBurnProgressError,
  83. evBurnProgressLossOfStreamingError,
  84. evBurnProgressMediaWriteProtect, // i.e. 8/10X RW media in a 4X RW drive
  85. evBurnProgressUnableToWriteToMedia,
  86. evBurnProgressBadHandle
  87. } BURNENGV_PROGRESS_STATUS, *PBURNENGV_PROGRESS_STATUS;
  88. /*
  89. ** Restore compiler default packing and close off the C declarations.
  90. */
  91. #ifdef __cplusplus
  92. }
  93. #endif //__cplusplus
  94. #endif //_BURNV_H_