⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nerouserdialog.h

📁 本源码是通过调用NeroAPI实现刻录功能
💻 H
📖 第 1 页 / 共 2 页
字号:
 * See comments for NERODLG_MESSAGE_TYPE which values to return.
 */
	DLG_MESSAGEBOX = 29,

	DLG_MAX
} NeroUserDlgInOut;

/* NeroAPI >= 6.0.0.6 */
typedef enum
{
	NDIT_INFO = 0, /* an info icon */
	NDIT_WARNING = 1, /* a warning icon */
	NDIT_ERROR = 2, /* an error icon */
	NDIT_QUESTION =3 /* a question icon */
} NERODLG_ICON_TYPE;

/* NeroAPI >= 6.0.0.6 */
typedef enum
{
	/* An info dialog with only an OK button. The return value is ignored.
	 */
	NDMT_OK = 0,

	/* A dialog with a yes and a no button. Return DLG_RETURN_YES for Yes
	 * and DLG_RETURN_NO for No.
	 */
	NDMT_YESNO = 1,

	/* A dialog with a ok and a cancel button. Return DLG_RETURN_OK for OK
	 * and DLG_RETURN_CANCEL for Cancel.
	 */
	NDMT_OKCANCEL = 2,
	
	/* A dialog with a retry and a cancel button. Return DLG_RETURN_RETRY 
	 * for Retry and DLG_RETURN_CANCEL for Cancel.
	 */
	NDMT_RETRYCANCEL = 3,

	/* A dialog with a abort, a retry and a ignore button.
	 * Return DLG_RETURN_IGNORE for Ignore, DLG_RETURN_RETRY for Retry
	 * and DLG_RETURN_ABORT for Abort.
	 */
	NDMT_ABORTRETRYIGNORE = 4,

	/* A dialog with a yes, a no and a cancel button.
	 * Return DLG_RETURN_YES for Yes, DLG_RETURN_NO for No
	 * and DLG_RETURN_CANCEL for Cancel.
	 */
	NDMT_YESNOCANCEL = 5
} NERODLG_MESSAGE_TYPE;

/* NeroAPI >= 6.0.0.6 */
typedef struct
{
	NERODLG_MESSAGE_TYPE type; /* the type of the message, see DLG_MESSAGE_TYPE */
	NERODLG_ICON_TYPE icon; /* the icon for the message, see DLG_ICON_TYPE */
	NeroUserDlgInOut defaultReturn; /* the default return value */
	const char* message; /* the message to display */ 
} NERODLG_MESSAGEBOX;

typedef enum
{
   RUMT_ERROR,
   RUMT_WARNING,
   RUMT_QUESTION,
   RUMT_HINT
} ROBOUSERMESSAGETYPE;

typedef struct
{
   ROBOUSERMESSAGETYPE message_type; // The type of message, see constants above */
   const char *message;
} ROBOUSERMESSAGE;

typedef enum
{
   RMN_INPUT,
   RMN_RECORDER,
   RMN_OUTPUT,
   RMN_PRINTER,
   RMN_WASTEBIN
} ROBOMOVENODE;

typedef struct
{
   int id; /* In future versions, we may have more than one Robo moving
	    * at a time. So this ID identifies the movement action
	    * and will be used to remove it with DLG_ROBO_MOVECD_DONE */
   ROBOMOVENODE source;
   ROBOMOVENODE destination;
} ROBOMOVEMESSAGE;


// NeroAPI >= 6.0.0.27: Additional information when DLG_OVERBURN is called
typedef struct
{
	DWORD dwTotalBlocksOnCD; // total blocks to be written to disc
	DWORD dwTotalCapacity;   // free capacity on disc in blocks
	DWORD reserved[32];      // reserved for future usage
} DLG_OVERBURN_INFO;

/*
// This function gets a requester type and shall return a suitable response to it.
// Depending on the "type", "data" might contain additional information.
//
// Argument passing is in standard C order (on the stack, right to left),
// aka MS Visual++ __cdecl.
*/

/* Define __cdecl for non-Microsoft compilers */

#if     ( !defined(_MSC_VER) && !defined(__cdecl) )
#define __cdecl
#endif

#define NERO_CALLBACK_ATTR __cdecl
typedef NeroUserDlgInOut (NERO_CALLBACK_ATTR *NERO_USER_DIALOG) (void *pUserData, NeroUserDlgInOut type, void *data);

/*
// see below for a description of the enumeration values
*/
typedef enum
{
    NERO_WAITCD_WRITE,
    NERO_WAITCD_SIMULATION,
    NERO_WAITCD_AUTOEJECTLOAD,
    NERO_WAITCD_REINSERT,
    NERO_WAITCD_NEXTCD,
    NERO_WAITCD_ORIGINAL,
    NERO_WAITCD_WRITEPROTECTED,
    NERO_WAITCD_NOTENOUGHSPACE,
    NERO_WAITCD_NEWORIGINAL,
    NERO_WAITCD_EMPTYCD,
    NERO_WAITCD_WRITE_EMPTY,
    NERO_WAITCD_SIMULATION_EMPTY,
    NERO_WAITCD_WRITEWAVE,
    NERO_WAITCD_MULTISESSION,
    NERO_WAITCD_MULTISESSION_SIM,
    NERO_WAITCD_MULTI_REINSERT,
	NERO_WAITCD_DISCINFOS_FAILED,
	NERO_WAITCD_MEDIUM_UNSUPPORTED,
	NERO_WAITCD_AUTOEJECTLOAD_VER,
	NERO_WAITCD_REINSERT_VER,
	NERO_WAITCD_NOFORMAT,
	NERO_WAITCD_WRONG_MEDIUM,		// NeroAPI>=5.5.5.6
	NERO_WAITCD_WAITING,			// NeroAPI>=5.5.10.26
	NERO_WAITCD_EMPTYCDRW,		    // NeroAPI>=6.0.0.20
	NERO_WAITCD_NOTENOUGHSPACERW,   // NeroAPI>=6.0.0.20
	NERO_WAITCD_NOTENOUGHSPACE_80MIN,
	NERO_WAITCD_MAX
} NERO_WAITCD_TYPE;


#endif /* __NEROUSERDIALOG__ */



#ifdef NERO_WAITCD_TEXTS /* define this in exactly one source file before including NeroUserDialog.h there. */

#include <assert.h>

#ifndef NERO_WAITCD_TEXTS_DEFINED
#define NERO_WAITCD_TEXTS_DEFINED


/* If NeroAPI>=5.5.9.10 is present, it is recommanded to use NeroGetLocalizedWaitCDTexts instead since it 
   returns a localized string */
static const char *NeroGetWaitCDTexts (NERO_WAITCD_TYPE type)
{
	static struct
	{
		NERO_WAITCD_TYPE type;
		const char *text;
	} mapping[] =
	{
		{ NERO_WAITCD_WRITE,        "Please insert the disc to write to..." },
		{ NERO_WAITCD_SIMULATION,   "Please insert a disc to use during simulation...\n\n(Nothing will be written on the disc.)" },
		{ NERO_WAITCD_AUTOEJECTLOAD, 
									"Please do not remove the disc!\n\nYour recorder requires this eject between simulation and burning. The disc will be reloaded automatically before continuing with burning..." },
		{ NERO_WAITCD_REINSERT,     "Please do not remove the disc!\n\nYour recorder requires this eject between simulation and burning. Please reinsert the disc..." },
		{ NERO_WAITCD_NEXTCD,       "Please remove the disc and  insert the next recordable disc to write to... " },
		{ NERO_WAITCD_ORIGINAL,     "Please insert the original disc." },
		{ NERO_WAITCD_WRITEPROTECTED, 
									"This disc is not writable.\n\nPlease insert a writable disc..." },
		{ NERO_WAITCD_NOTENOUGHSPACE, 
									"There is not enough space to burn this compilation onto this disc.\n\nPlease insert another disc that provides more space..." },
		{ NERO_WAITCD_NEWORIGINAL,  "The disc is blank, invalid\nor a multisession disc.\n\nPlease insert original disc ..." },
		{ NERO_WAITCD_EMPTYCD,      "The disc is not empty.\n\nPlease insert an empty disc." },
		{ NERO_WAITCD_WRITE_EMPTY,  "Please insert an empty disc to write to..." },
		{ NERO_WAITCD_SIMULATION_EMPTY, 
									"Please insert an empty disc to use during simulation...\n\n(Nothing will be written on the disc.)" },
		{ NERO_WAITCD_WRITEWAVE,    "The disc is blank.\n\nPlease insert original disc..." },
		{ NERO_WAITCD_MULTISESSION, "Nero is checking for the disc, please wait ...\n\nTo burn this multisession compilation you need the disc, that  contains the previous backup sessions. Please insert this disc if you haven't done it before." },
		{ NERO_WAITCD_MULTISESSION_SIM, 
									"To simulate this multisession compilation you need the disc, that contains the previous backup sessions. Please insert this disc. (Nothing will be written on disc)." },
		{ NERO_WAITCD_MULTI_REINSERT, 
									"Please do not remove the disc!\n\nYour recorder requires this eject between simulation and burning. Please reinsert the\n same Multisession disc..." },
		{ NERO_WAITCD_DISCINFOS_FAILED,
									"Disc analysis failed. The error log\ncontains more information about the reason."},
		{ NERO_WAITCD_MEDIUM_UNSUPPORTED,
		"The recorder does not support this type of media!\n\nPlease insert a correct disc to write to..."},
		{ NERO_WAITCD_AUTOEJECTLOAD_VER, "Please do not remove the disc!\n\nYour recorder requires that the  disc be ejected between burning and verification. The disc will be reloaded automatically when burning is to continue..."	},
		{ NERO_WAITCD_REINSERT_VER,	"Please do not remove the disc!\n\nYour recorder requires that the disc be ejected between burning and verification. Please reinsert the disc...."	},
		{ NERO_WAITCD_NOFORMAT,		"The disc is not formatted. Please insert a formatted disc." },
		{ NERO_WAITCD_WRONG_MEDIUM,	"Sorry, your compilation cannot be written on this kind of disc. Please insert a disc of the correct type or modify the settings of your compilation to make them compatible with the current disc." },
		{ NERO_WAITCD_WAITING, "--- Accessing disc, please wait ---"},
		{ NERO_WAITCD_EMPTYCDRW, "The disc is not empty." },
		{ NERO_WAITCD_NOTENOUGHSPACERW, "There is not enough space to burn the compilation onto this disc."},
		{ NERO_WAITCD_NOTENOUGHSPACE_80MIN, "There is not enough space to burn the compilation onto this disc.\n\nPlease insert a 80min/700MB media"},
		{ NERO_WAITCD_MAX,          "unknown NERO_WAITCD_TYPE" }
	};
	int i;

	/* 
	 * Please use NeroGetLocalizedWaitCDTexts instead of NeroGetWaitCDTexts.
	 * NeroGetLocalizedWaitCDTexts gets the strings from the message file and therefore
	 * always returns the correct string also if a new NERO_WAITCD_TYPE has been added
	 * to NeroAPI.
	 */
	assert(!"NeroGetWaitCDTexts is deprecated.");

	for (i = 0; mapping[i].type != type && mapping[i].type != NERO_WAITCD_MAX; i++)
		;
	assert (mapping[i].type != NERO_WAITCD_MAX);
	return mapping[i].text;
}
#endif

#if defined(__BORLANDC__)
#pragma pack(pop)
#pragma option pop 
#endif

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -