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

📄 vdiskcb.cpp

📁 Virtual Disk Driver
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	case VDISK_CB_CONF_PARENTTS:		PrintMessage(MSG_CB_CONF_PARENTTS,			(PCHAR)params[0], (ULONG)params[1],			(PCHAR)params[2], (ULONG)params[3]);		break;	case VDISK_CB_CONF_TIMESTAMP:		PrintMessage(MSG_CB_CONF_TIMESTAMP,			(PCHAR)params[0], (ULONG)params[1],			(PCHAR)params[2], (ULONG)params[3]);		break;	case VDISK_CB_CONF_CONTROLLER:		PrintMessage(MSG_CB_CONF_CONTROLLER,			(PCHAR)params[0], (PCHAR)params[1],			(PCHAR)params[2], (PCHAR)params[3]);		break;	case VDISK_CB_CONF_EXTENTS:		PrintMessage(MSG_CB_CONF_EXTENTS,			(PCHAR)params[0], (ULONG)params[1],			(PCHAR)params[2], (ULONG)params[3]);		break;	case VDISK_CB_CONF_CYLINDERS:		PrintMessage(MSG_CB_CONF_CYLINDERS,			(PCHAR)params[0], (ULONG)params[1],			(PCHAR)params[2], (ULONG)params[3]);		break;	case VDISK_CB_CONF_TRACKS:		PrintMessage(MSG_CB_CONF_TRACKS,			(PCHAR)params[0], (ULONG)params[1],			(PCHAR)params[2], (ULONG)params[3]);		break;	case VDISK_CB_CONF_SECTORS:		PrintMessage(MSG_CB_CONF_SECTORS,			(PCHAR)params[0], (ULONG)params[1],			(PCHAR)params[2], (ULONG)params[3]);		break;	case VDISK_CB_CONF_CAPACITY:		PrintMessage(MSG_CB_CONF_CAPACITY,			(PCHAR)params[0], (ULONG)params[1],			(PCHAR)params[2], (ULONG)params[3]);		break;	case VDISK_CB_CONF_HARDWARE:		PrintMessage(MSG_CB_CONF_HARDWARE,			(PCHAR)params[0], (ULONG)params[1],			(PCHAR)params[2], (ULONG)params[3]);		break;	case VDISK_CB_CONF_TOOLSFLAG:		PrintMessage(MSG_CB_CONF_TOOLSFLAG,			(PCHAR)params[0], (ULONG)params[1],			(PCHAR)params[2], (ULONG)params[3]);		break;	case VDISK_CB_CONF_SEQNUM:		PrintMessage(MSG_CB_CONF_SEQNUM,			(PCHAR)params[0], (ULONG)params[1],			(PCHAR)params[2], (ULONG)params[3]);		break;	case VDISK_CB_CONF_PARENTPATH:		PrintMessage(MSG_CB_CONF_PARENTPATH,			(PCHAR)params[0], (PCHAR)params[1],			(PCHAR)params[2], (PCHAR)params[3]);		break;	//	prompts to ignore non-fatal conflicts	//	return:		TRUE	yes	//				FALSE	no	case VDISK_CB_CONFLICT_IGNORE:		ret = (InputChar(MSG_PROMPT_ABORTIGNORE, "ai") == 'i');		break;	//	disk capacity stored in the header does not match the total of extents	//	params[0]:	PCHAR	path	//	params[1]:	ULONG	stored capacity	//	params[2]:	ULONG	total capacity	//	return:		TRUE	corrected or ignore	//				FALSE	abort	case VDISK_CB_COWD_CAPACITY:		PrintMessage(MSG_CB_COWD_CAPACITY,			(PCHAR)params[0], (ULONG)params[1], (ULONG)params[2]);		break;	//	Invalid cowd version	//	params[0]:	PCHAR	path	//	params[1]:	ULONG	bad version	//	return:		correct version	case VDISK_CB_COWD_FILEVER:		PrintMessage(MSG_CB_COWD_FILEVER,			(PCHAR)params[0], (ULONG)params[1]);		ret = (InputChar(MSG_PROMPT_ABORTIGNORE, "ai") == 'i')			? COWD_FILEVER_VMWARE3 : 0;		break;	//	File geometry values inconsistent or capacity = 0	//	params[0]:	PCHAR			path	//	params[1]:	PCOWD_SECTOR_0	sec0	//	return:		NONE	case VDIDK_CB_COWD_FILEGEOM:		PrintMessage(MSG_CB_COWD_GEOMETRY,			(PCHAR)params[0],			((PCOWD_SECTOR_0)params[1])->u.Geometry.Cylinders,			((PCOWD_SECTOR_0)params[1])->u.Geometry.Tracks,			((PCOWD_SECTOR_0)params[1])->u.Geometry.Sectors,			((PCOWD_SECTOR_0)params[1])->Capacity);		break;	//	Disk geometry values inconsistent or capacity = 0	//	params[0]:	PCHAR			path	//	params[1]:	PCOWD_SECTOR_3	sec3	//	return:		NONE	case VDISK_CB_COWD_DISKGEOM:		PrintMessage(MSG_CB_COWD_GEOMETRY,			(PCHAR)params[0],			((PCOWD_SECTOR_3)params[1])->Cylinders,			((PCOWD_SECTOR_3)params[1])->Tracks,			((PCOWD_SECTOR_3)params[1])->Sectors,			((PCOWD_SECTOR_3)params[1])->DiskCapacity);		break;	//	parent path length	//	params[0]:	PCHAR	path	//	params[1]:	PCHAR	parent_path	//	return:		TRUE	correct	//				FALSE	abort	case VDISK_CB_COWD_PARENT:		PrintMessage(MSG_CB_COWD_PARENT,			(PCHAR)params[0], (PCHAR)params[1]);		break;	//	Mapsize values in COWD header is inconsistent with capacity	//	params[0]:	PCHAR	path	//	params[2]:	ULONG	wrong value	//	params[1]:	ULONG	correct value	//	return:		corrected map size	case VDISK_CB_COWD_MAPSIZE:		PrintMessage(MSG_CB_COWD_MAPSIZE,			(PCHAR)params[0], (ULONG)params[1], (ULONG)params[2]);/*		if (InputChar(MSG_PROMPT_ABORTIGNORE, "ai") == 'i') {			ret = (ULONG)params[1];		}*/		break;	//	EndOfFile value does not match actual file size	//	params[0]:	PCHAR	path	//	params[2]:	ULONG	wrong value	//	params[1]:	ULONG	correct value	//	return:		TRUE	ignore	//				FALSE	fail	case VDISK_CB_COWD_ENDOFFILE:		PrintMessage(MSG_CB_COWD_ENDOFFILE,			(PCHAR)params[0], (ULONG)params[1], (ULONG)params[2]);		ret = TRUE;;		break;	//	cowd_sec2->TimeStamp != cowd_sec3->TimeStamp	//	params[0]:	PCHAR	path	//	params[1]:	ULONG	timestamp1	//	params[2]:	ULONG	timestamp2	//	return:		TRUE	ignore	//				FALSE	fail	case VDISK_CB_COWD_TIMESTAMP:		PrintMessage(MSG_CB_COWD_TIMESTAMP,			(PCHAR)params[0], (ULONG)params[1], (ULONG)params[2]);		ret = (InputChar(MSG_PROMPT_ABORTIGNORE, "ai") == 'i');		break;	//	VMDK descriptor is not found in the file	//	params[0]:	PCHAR	path	//	return:		NONE	case VDISK_CB_VMDK_NODESC:		PrintMessage(MSG_CB_VMDK_NODESC, (PCHAR)params[0]);		break;	//	Invalid vmdk version	//	params[0]:	PCHAR	path	//	params[1]:	ULONG	bad version	//	return:		correct version	case VDISK_CB_VMDK_FILEVER:		PrintMessage(MSG_CB_VMDK_FILEVER,			(PCHAR)params[0], (ULONG)params[1]);		ret = (InputChar(MSG_PROMPT_ABORTIGNORE, "ai") == 'i')			? VMDK_FILEVER_VMWARE4 : 0;		break;	//	Invalid vmdk capacity	//	params[0]:	PCHAR	path	//	params[1]:	PINT64	bad value	//	return:		TRUE	ignore / corrected	//				FALSE	abort	case VDISK_CB_VMDK_FILECAP:		PrintMessage(MSG_CB_VMDK_FILECAP,			(PCHAR)params[0], I64PRM(params[1]));		break;	//	Invalid vmdk granularity	//	params[0]:	PCHAR	path	//	params[1]:	PINT64	bad value	//	return:		TRUE	ignore / corrected	//				FALSE	abort	case VDISK_CB_VMDK_GRANULARITY:		PrintMessage(MSG_CB_VMDK_GRANULARITY,			(PCHAR)params[0], I64PRM(params[1]));		break;	//	Invalid vmdk descriptor offset	//	params[0]:	PCHAR	path	//	params[1]:	PINT64	bad value	//	return:		TRUE	ignore / corrected	//				FALSE	abort	case VDISK_CB_VMDK_DESCOFFSET:		PrintMessage(MSG_CB_VMDK_DESCOFFSET,			(PCHAR)params[0], I64PRM(params[1]));		break;	//	Invalid vmdk descriptor size	//	params[0]:	PCHAR	path	//	params[1]:	PINT64	bad value	//	return:		TRUE	ignore / corrected	//				FALSE	abort	case VDISK_CB_VMDK_DESCSIZE:		PrintMessage(MSG_CB_VMDK_DESCSIZE,			(PCHAR)params[0], I64PRM(params[1]));		break;	//	Invalid vmdk GTEsPerGT value	//	params[0]:	PCHAR	path	//	params[1]:	ULONG	bad value	//	return:		TRUE	ignore / corrected	//				FALSE	abort	case VDISK_CB_VMDK_GTESPERGT:		PrintMessage(MSG_CB_VMDK_GTESPERGT,			(PCHAR)params[0], (ULONG)params[1]);		break;	//	Invalid vmdk grain dictionary offset	//	params[0]:	PCHAR	path	//	params[1]:	PINT64	bad value	//	return:		TRUE	ignore / corrected	//				FALSE	abort	case VDISK_CB_VMDK_GDOFFSET:		PrintMessage(MSG_CB_VMDK_GDOFFSET,			(PCHAR)params[0], I64PRM(params[1]));		break;	//	Invalid vmdk grain offset	//	params[0]:	PCHAR	path	//	params[1]:	PINT64	bad value	//	return:		TRUE	ignore / corrected	//				FALSE	abort	case VDISK_CB_VMDK_GRAINOFFSET:		PrintMessage(MSG_CB_VMDK_GRAINOFFSET,			(PCHAR)params[0], I64PRM(params[1]));		break;	//	Invalid vmdk check bytes	//	params[0]:	PCHAR	path	//	return:		TRUE	ignore / corrected	//				FALSE	abort	case VDISK_CB_VMDK_CHECKBYTES:		PrintMessage(MSG_CB_VMDK_CHECKBYTES, (PCHAR)params[0]);		ret = (InputChar(MSG_PROMPT_ABORTIGNORE, "ai") == 'i');		break;	//	VMDK capacity in the header and descriptor mismatch	//	params[0]:	PCHAR	path	//	params[1]:	ULONG	size in the header	//	params[2]:	ULONG	size in the descriptor	//	return:		TRUE	ignore / corrected	//				FALSE	abort	case VDISK_CB_VMDK_SIZEMISMATCH:		PrintMessage(MSG_CB_VMDK_SIZEMISMATCH,			(PCHAR)params[0], (ULONG)params[1], (ULONG)params[2]);		ret = (InputChar(MSG_PROMPT_YESNO, "yn") == 'y');		break;	//	Capacity of the child and the parent do not match	//	params[0]:	PCHAR	child path	//	params[1]:	ULONG	child capacity	//	params[2]:	PCHAR	parent path	//	params[3]:	ULONG	parent capacity	//	return:		NONE	this is fatal	case VDISK_CB_PARENT_CAPACITY:		PrintMessage(MSG_CB_PARENT_CAPACITY,			(PCHAR)params[0], (ULONG)params[1],			(PCHAR)params[2], (ULONG)params[3]);		break;	//	Controller type of the child and the parent do not match	//	params[0]:	PCHAR	child path	//	params[1]:	ULONG	child controller	//	params[2]:	PCHAR	parent path	//	params[3]:	ULONG	parent controller	//	return:		TRUE	ignore / corrected	//				FALSE	abort	case VDISK_CB_PARENT_CONTROLLER:		PrintMessage(MSG_CB_PARENT_CONTROLLER,			(PCHAR)params[0], (ULONG)params[1] == VDISK_CONTROLLER_SCSI ? "SCSI" : "IDE",			(PCHAR)params[2], (ULONG)params[3] == VDISK_CONTROLLER_SCSI ? "SCSI" : "IDE");		ret = (InputChar(MSG_PROMPT_ABORTIGNORE, "ai") == 'i');		break;	//	Child's ParentTS and Parent's Timestamp do not match	//	params[0]:	PCHAR	child path	//	params[1]:	ULONG	child ParentTS	//	params[2]:	PCHAR	parent path	//	params[3]:	ULONG	parent Timestamp	//	return:		TRUE	ignore / corrected	//				FALSE	abort	case VDISK_CB_PARENT_TIMESTAMP:		PrintMessage(MSG_CB_PARENT_TIMESTAMP,			(PCHAR)params[0], (ULONG)params[1],			(PCHAR)params[2], (ULONG)params[3]);		ret = (InputChar(MSG_PROMPT_ABORTIGNORE, "ai") == 'i');		break;	default:		fprintf(stderr, "Unknown Callback reason %lu\n", reason);		break;	}	return ret;}

⌨️ 快捷键说明

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