110 lines
2.7 KiB
C
110 lines
2.7 KiB
C
|
/* 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_
|