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

📄 vdkaccess.h

📁 Virtual Disk Driver
💻 H
字号:
/*	vdkaccess.h	Virtual Disk access function header	Copyright (C) 2003 Ken Kato*/#ifndef	_VDK_ACCESS_#define _VDK_ACCESS_#ifdef __cplusplusextern "C" {#endif	// __cplusplus//// Solid file specific parameter used for accessing solid files//typedef struct _VDK_SOLID_PARAM{	ULONG			BackOffset;				// Sectors to reserve at the top of file}											// -- used by VMware 4 flat virtual disksVDK_SOLID_PARAM, *PVDK_SOLID_PARAM;////	COWD specific parameter used for accessing COWD files//typedef struct _VDK_COWD_PARAM{	PVOID			Sector0;				// COWD header	PULONG			PrimaryMap;				// Primary Map buffer	ULONG			PrimaryMapSize;			// Number of ULONG entries	ULONG			PrimaryGranularity;		// Number of sectors per entry	PULONG			SecondaryMap;			// Secondary Map buffer	ULONG			SecondaryMapSize;		// Number of ULONG entries	ULONG			SecondaryGranularity;	// Capacity per entry	ULONG			SecondaryMapIdx;		// Current Secondary Map Index}VDK_COWD_PARAM, *PVDK_COWD_PARAM;////	VMDK specific parameters used for accessing VMDK sparse files//typedef struct _VDK_VMDK_PARAM{	PULONG			PrimaryDirectory;		// Primary Directory data	PULONG			BackupDirectory;		// Backup Directory data	PULONG			GrainTable;				// MRU Grain Table data	ULONG			GrainTableIdx;			// MRU Grain Table Index	ULONG			DirectorySize;			// number of tables in directory	ULONG			GrainTableSize;			// number of items in grain table	ULONG			SectorsPerGrain;		// Granularity	ULONG			SectorsPerTable;		// Granularity * GrainTableSize}VDK_VMDK_PARAM, *PVDK_VMDK_PARAM;////	File information actually used for accessing Virtual Disk files//typedef struct _VDK_FILE_INFO{	ULONG			FileType;				// Segment file type	ULONG			StartSector;			// Offset of the first sector	ULONG			Capacity;				// Logical file length in sectors	ULONG			NameLength;				// Name length in bytes	HANDLE			FileHandle;				// File handle	ULONG			EndOfFile;				// Actual file length in sectors	//	// type specific paramters	//	union tag_prm {//		PVDK_SOLID_PARAM	solid;		ULONG	SolidBackOffset;		PVDK_COWD_PARAM		cowd;		PVDK_VMDK_PARAM		vmdk;	} prm;}VDK_FILE_INFO, *PVDK_FILE_INFO;////	Structure represents a virtual disk//typedef struct _VDK_DISK_INFO{	ULONG			DiskType;				// RW / RO	ULONG			Capacity;				// Total capacity in sectors	ULONG			Cylinders;				// Cylinders	ULONG			Tracks;					// Tracks per cylinder	ULONG			Sectors;				// Sectors per track	PCHAR			NameBuffer;				// Filename buffer	ULONG			BufferLen;				// Filename buffer length	PVDK_FILE_INFO	Files;					// array of file info	ULONG			FilesTotal;				// number of files}VDK_DISK_INFO, *PVDK_DISK_INFO;#define DISK_INFO_DEFINED////	functions in vdkopen.c//#ifndef OPEN_FILE_INFO_DEFINEDtypedef struct _VDK_OPEN_FILE_INFO *PVDK_OPEN_FILE_INFO;#endifVDKSTAT	VdkOpenCheckParam(	PVDK_OPEN_FILE_INFO	OpenInfo,	// buffer containing the open param	ULONG				InputLen);	// length of the bufferVDKSTAT	VdkOpenDisk(	PVDK_OPEN_FILE_INFO	OpenFile,	// open file info structure	PVDK_DISK_INFO 		DiskInfo);	// disk info structureVOID	VdkCloseDisk(	PVDK_DISK_INFO		DiskInfo);	// file info structure////	functions in vdkread.c//VDKSTAT	VdkReadSector(	PVDK_DISK_INFO		DiskInfo,	// file info structure	ULONG				Offset,		// logical offset of the sector to read	ULONG				Sectors,	// number of sectors to read	PUCHAR				Buffer);	// buffer to store the data being read////	functions in vdkwrite.c//VDKSTAT	VdkWriteSector(	PVDK_DISK_INFO		DiskInfo,	// file info structure	ULONG				Offset,		// logical offset of the sector to write	ULONG				Sectors,	// number of sectors to write	PUCHAR				Buffer);	// buffer containing the data to write#ifdef __cplusplus}#endif	// __cplusplus#endif	// _VDK_ACCESS_

⌨️ 快捷键说明

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