/* Copyright (c) Microsoft Corporation. All rights reserved. */ #ifndef _BURNV_H_ #define _BURNV_H_ /* ** Make sure structures are byte aligned and fields are undecorated. */ #ifdef __cplusplus extern "C" { #endif //__cplusplus #include "ntddscsi.h" #define _NTSCSI_USER_MODE_ #include "scsi.h" #include "ImapiPub.h" /* * Typedefs. */ typedef enum { eWriterErrorNone = 0, eWriterBurnStarted, eWriterBurnengError, eWriterDeviceUnsupported, eWriterImapiFailure, eWriterMediaNonerasable, eWriterMediaNotPresent, eWriterMediaNonwritable, eWriterTargetScsiError, eWriterTargetUnknownResponseTIB, eWin32Error, eWin32OverlappedError, eWriterAlloc, eWriterBufferSize, eWriterIntFnTab, eWriterIntImapi, eWriterIntList, eWriterInvalidData, eWriterBadHandle, eWriterInvalidParam, eWriterBurnError, eWriterGenFailure, eWriterRegistryError, eWriterStashFileOpen, eWriterBadSectionClose, eWriterPrematureTermination, eWriterWriteError, eWriterReadFileError, eWriterThreadCreationError, eWriterLossOfStreaming, eWriterClosingSession, eWriterWriteProtectedMedia, eWriterUnableToWriteToMedia, eWriterErrorMAX } WRITER_ERROR_TYPE, *PWRITER_ERROR_TYPE; typedef struct _BURNENG_ERROR_STATUS { WRITER_ERROR_TYPE BurnEngineError; } BURNENG_ERROR_STATUS, *PBURNENG_ERROR_STATUS; typedef enum { eOrderMethodMotorola = 1, eOrderMethodMAX } BURNENGV_AUDIO_BYTE_ORDERING_METHOD, *PBURNENGV_AUDIO_BYTE_ORDERING_METHOD; typedef struct _BURNENGV_IMAPI_SCSI_INFO { UCHAR ScsiStatus; SENSE_DATA SenseData; } BURNENGV_IMAPI_SCSI_INFO, *PBURNENGV_IMAPI_SCSI_INFO; typedef union _BURNENGV_ERROR_EXTRA_INFO { DWORD dwWin32Error; BURNENGV_IMAPI_SCSI_INFO imapiScsiError; BURNENG_ERROR_STATUS engErrorStatus; } BURNENGV_ERROR_EXTRA_INFO, *PBURNENGV_ERROR_EXTRA_INFO; typedef struct _WRITER_ERROR_INFO { DWORD errorType; BURNENGV_ERROR_EXTRA_INFO info; } WRITER_ERROR_INFO, *PWRITER_ERROR_INFO; typedef enum { evBurnProgressNoError = 0, evBurnProgressNotStarted, evBurnProgressBurning, evBurnProgressComplete, evBurnProgressError, evBurnProgressLossOfStreamingError, evBurnProgressMediaWriteProtect, // i.e. 8/10X RW media in a 4X RW drive evBurnProgressUnableToWriteToMedia, evBurnProgressBadHandle } BURNENGV_PROGRESS_STATUS, *PBURNENGV_PROGRESS_STATUS; /* ** Restore compiler default packing and close off the C declarations. */ #ifdef __cplusplus } #endif //__cplusplus #endif //_BURNV_H_