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

/* 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_