亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? hdisksn.h

?? 這個是集合幾種關(guān)于硬盤的序列號的獲取方式的DLL
?? H
?? 第 1 頁 / 共 2 頁
字號:
/////////////////////////////////////////////////////////////////////////////
// HDiskSN.h : Defines the function header for the DLL application.
// Made By ShanChengKun.PentiumWorkingRoom
// CopyRight(C) 1996-2008 . Email: Sck007@163.com . Made in 2004.05.27
/////////////////////////////////////////////////////////////////////////////

#ifndef HDISK_SN_H
#define HDISK_SN_H

#ifdef HDISKSN_EXPORTS
#define HDISKSN_API __declspec(dllexport)
#else
#define HDISKSN_API __declspec(dllimport)
#endif

/////////////////////////////////////////////////////////////////////////////

// 為支持BSTR和sprintf而作的預定義
#include <stdio.h>
typedef unsigned short *BSTR;
#define WINOLEAUTAPI_(type) EXTERN_C DECLSPEC_IMPORT type STDAPICALLTYPE
WINOLEAUTAPI_(BSTR) SysAllocString(const BSTR);

#ifdef __cplusplus
extern "C" {
#endif

// 動態(tài)鏈接庫WinIo.DLL的接口聲明
typedef BOOL  (_stdcall *PInitializeWinIo)();
typedef VOID  (_stdcall *PShutdownWinIo)();
typedef BOOL  (_stdcall *PGetPortVal)(WORD wPortAddr, PDWORD pdwPortVal, BYTE bSize);
typedef BOOL  (_stdcall *PSetPortVal)(WORD wPortAddr, DWORD dwPortVal, BYTE bSize);

#ifdef __cplusplus
}
#endif

// 各種小工具函數(shù)定義及相關(guān)宏定義
void	function_des(BYTE, const BYTE *, const BYTE *, BYTE *);
BOOL	SckDesD88(BYTE style, const BYTE *src, const BYTE *key, BYTE *dec);
BOOL	SckDesBin(BYTE bStyle, BYTE *byData, DWORD dwLength, const BYTE *byKeys);
BOOL	ZnnDesBin(BYTE bStyle, BYTE *byData, DWORD dwLength, const BYTE *byKeys);

int		lstrCpy(char *chDes, const char *chSrc, int nMax = 0);
BOOL	IsWindowsNT(void);							// 是否是NT系統(tǒng)
BOOL	IsHaveDiskPrivilege(VOID);					// 權(quán)限是否足夠
void	HandleSckPath(char *pStr, int nCut, int nLen = 0);
BOOL	IsFileExist(const char chName[], DWORD *pLength = NULL);
BOOL	MakeSurePath(const char chPath[]);			// 確認路徑存在
BOOL	MakeFilePath(const char chFile[]);			// 確認文件所在路徑
BOOL	SaveBinaryFile(const char *chFileName, const BYTE *pBuffData, DWORD dwBuffSize);
BOOL	LoadBinaryFile(const char *chFileName, BYTE *&pBuffData, DWORD &dwBuffSize);
int		MsgBox(HWND, UINT, const char *chfmt, ...);	// 測試用信息對話框
DWORD	GenerateCRC32(const BYTE *, long nLength);	// 提取CRC32檢驗碼
void	CryptXOR(BYTE bySrc[], long nLen, BYTE byPatt = 0xA5);
void	CryptXOR(BYTE byDes[], const BYTE bySrc[], LONG nLen, BYTE byPatt = 0xA5);
INT		GetRecyclerDirectory(CHAR chPath[]);		// 獲取系統(tǒng)的回收站全路徑

#define BCD2DEC(b) ((BYTE)((((b) & 0xF0) >> 4) * 10 + ((b) & 0x0F)))
static const BYTE DATA_KEYS[] = {0xF6, 0xC6, 0xCE, 0x95, 0x95, 0x92, 0x9F, 0x8C};
static const BYTE BETA_KEYS[] = {0xEC, 0xE9, 0xCA, 0xD3, 0xC0, 0xFC, 0xCA, 0xD0};

HDISKSN_API LONG DiskSectorIO(LONG bLogPhy, LONG nWhichDisk, DWORD dwStartSector,
		DWORD dwSumSectors, LONG lpBuffer, LONG bOperation);
HDISKSN_API BOOL VerifySector(HMODULE hMoudle, LONG pdwVerify);
HDISKSN_API BSTR GetHDiskSN(void);					// 獲取硬盤序列號
BOOL	GetCurrDate(BYTE *byDate);					// 獲取CMOS內(nèi)年月日記錄
LONG	GetDiffDate(const BYTE *byNew, const BYTE *byOld);// 獲取兩個時間的天數(shù)差
BOOL	IsDiffTime(const BYTE *byNew, const BYTE *byOld);// 判斷兩個時間是否相同

extern	HMODULE g_hHDiskSnDLL;						// HDiskSN動態(tài)庫句柄
class	CTcsyRegistList;							// 鏈表注冊類預定義
extern	CTcsyRegistList TcsyList;					// 扇區(qū)注冊管理鏈表
extern	DWORD SELF_CRC32;							// HDiskSN.DLL自校驗碼

/////////////////////////////////////////////////////////////////////////////

// IOCTL控制碼,#include <winioctl.h>
#define	DFP_GET_VERSION			0x00074080
#define	DFP_SEND_DRIVE_COMMAND	0x0007c084
#define DFP_RECEIVE_DRIVE_DATA	0x0007c088
#define DIOC_DISKIO_MINE_SCK	0x0022048f
//#define DFP_RECEIVE_DRIVE_DATA	CTL_CODE(IOCTL_DISK_BASE, 0x0022, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
//#define DFP_SEND_DRIVE_COMMAND	CTL_CODE(IOCTL_DISK_BASE, 0x0021, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
//#define DIOC_DISKIO_MINE_SCK		CTL_CODE(FILE_DEVICE_UNKNOWN, 0x123, METHOD_NEITHER, FILE_ANY_ACCESS)

#define IDENTIFY_BUFFER_SIZE	512	// Miscellaneous
#define DISK_SECTOR_SIZE		512	// Bytes Per Sector
#define SCK_SN_INFOR			1	// 正在讀取硬盤序列號
#define SCK_RW_HDISK			2	// 正在讀寫硬盤物理扇

// bDriverError values,由IOCTL返回的錯誤信息
#define	SMART_NO_ERROR			0	// No error
#define	SMART_IDE_ERROR			1	// Error from IDE controller
#define	SMART_INVALID_FLAG		2	// Invalid command flag
#define	SMART_INVALID_COMMAND	3	// Invalid command byte
#define	SMART_INVALID_BUFFER	4	// Bad buffer (null, invalid addr..)
#define	SMART_INVALID_DRIVE		5	// Drive number not valid
#define	SMART_INVALID_IOCTL		6	// Invalid IOCTL
#define	SMART_ERROR_NO_MEM		7	// Could not lock user's buffer
#define	SMART_INVALID_REGISTER	8	// Some IDE Register not valid
#define	SMART_NOT_SUPPORTED		9	// Invalid cmd flag set
#define	SMART_NO_IDE_DEVICE		10	// Cmd issued to device not present
// 11-255 reserved					// although drive number is valid

// Bits returned in the fCapabilities member of GETVERSIONOUTPARAMS
#define	CAP_IDE_ID_FUNCTION				1	// ATA ID command supported
#define	CAP_IDE_ATAPI_ID				2	// ATAPI ID command supported
#define	CAP_IDE_EXECUTE_SMART_FUNCTION	4	// SMART commannds supported

// Valid values for the bCommandReg member of IDEREGS.
#define	IDE_ATAPI_ID				0xA1	// Returns ID sector for ATAPI.
#define	IDE_ID_FUNCTION				0xEC	// Returns ID sector for ATA.
#define	IDE_EXECUTE_SMART_FUNCTION	0xB0	// Performs SMART cmd.
// Requires valid bFeaturesReg,				// bCylLowReg, and bCylHighReg

// Vendor specific commands:
#define	SMART_ENABLE_SMART_OPERATIONS			0xD8
#define	SMART_DISABLE_SMART_OPERATIONS			0xD9
#define	SMART_RETURN_SMART_STATUS				0xDA

// Cylinder register values required when issuing SMART command
#define	SMART_CYL_LOW	0x4F
#define	SMART_CYL_HI	0xC2

#define  FILE_DEVICE_SCSI			0x0000001b
#define  IOCTL_SCSI_MINIPORT_IDENTIFY  ((FILE_DEVICE_SCSI << 16) + 0x0501)
#define  IOCTL_SCSI_MINIPORT		0x0004D008	// see NTDDSCSI.H for definition

// 以下是DeviceIoControl可以進行的幾種中斷調(diào)用
#define VWIN32_DIOC_DOS_IOCTL		1		// MS-DOS Int21h 44xxh functions call
#define VWIN32_DIOC_DOS_INT25		2		// MS-DOS Int25h functions call
#define VWIN32_DIOC_DOS_INT26		3		// MS-DOS Int26h functions call
#define VWIN32_DIOC_DOS_INT13		4		// MS-DOS Int13h functions call
#define VWIN32_DIOC_DOS_DRIVEINFO	6		// MS-DOS Int21h 730xh functions call

//-------------------------------------------------------------------------//

// Required to ensure correct SMART IOCTL structure setup
#pragma pack(1) // 定義結(jié)構(gòu)體對齊方式,以保證IDSECTOR結(jié)構(gòu)正確:512字節(jié)

// 獲取版本輸出信息
typedef struct _GETVERSIONOUTPARAMS
{
	BYTE	bVersion;		// Binary driver version.
	BYTE	bRevision;		// Binary driver revision.
	BYTE	bReserved;		// Not used.
	BYTE	bIDEDeviceMap;	// Bit map of IDE devices.
	DWORD	fCapabilities;	// Bit mask of driver capabilities.
	DWORD	dwReserved[4];	// For future use.
}
GETVERSIONOUTPARAMS, *PGETVERSIONOUTPARAMS, *LPGETVERSIONOUTPARAMS;

//-------------------------------------------------------------------------//

// IDE命令寄存器
typedef struct _IDEREGS
{
	BYTE	bFeaturesReg;		// Used for specifying SMART "commands".
	BYTE	bSectorCountReg;	// IDE sector count register
	BYTE	bSectorNumberReg;	// IDE sector number register
	BYTE	bCylLowReg;			// IDE low order cylinder value
	BYTE	bCylHighReg;		// IDE high order cylinder value
	BYTE	bDriveHeadReg;		// IDE drive/head register
	BYTE	bCommandReg;		// Actual IDE command.
	BYTE	bReserved;			// reserved for future use.  Must be zero.
}
IDEREGS, *PIDEREGS, *LPIDEREGS;

// IDE設(shè)備IOCTL輸入數(shù)據(jù)結(jié)構(gòu):in
typedef struct _SENDCMDINPARAMS
{
	DWORD	cBufferSize;		// Buffer size in bytes
	IDEREGS	irDriveRegs;		// Structure with drive register values.
	BYTE	bDriveNumber;		// Physical drive number to send 
								// command to (0,1,2,3).
	BYTE	bReserved[3];		// Reserved for future expansion.
	DWORD	dwReserved[4];		// For future use.
//	BYTE 	bBuffer[1];			// Input buffer.
}
SENDCMDINPARAMS, *PSENDCMDINPARAMS, *LPSENDCMDINPARAMS;

//-------------------------------------------------------------------------//

// 從驅(qū)動程序返回的狀態(tài):status
typedef struct _DRIVERSTATUS
{
	BYTE	bDriverError;		// Error code from driver, 
								// or 0 if no error.
	BYTE	bIDEStatus;			// Contents of IDE Error register.
								// Only valid when bDriverError
								// is SMART_IDE_ERROR.
	BYTE	bReserved[2];		// Reserved for future expansion.
	DWORD	dwReserved[2];		// Reserved for future expansion.
}
DRIVERSTATUS, *PDRIVERSTATUS, *LPDRIVERSTATUS;

// IDE設(shè)備IOCTL輸出數(shù)據(jù)結(jié)構(gòu):out
typedef struct _SENDCMDOUTPARAMS
{
	DWORD 			cBufferSize;		// Size of bBuffer in bytes
	DRIVERSTATUS	DriverStatus;		// Driver status structure.
	BYTE			bBuffer[512];		// Buffer of arbitrary length in which to store
										//the data read from the drive.
}
SENDCMDOUTPARAMS, *PSENDCMDOUTPARAMS, *LPSENDCMDOUTPARAMS;

//-------------------------------------------------------------------------//

#define HD_SN_LEN		20				// 序列號數(shù)組大小
#define HD_FR_LEN		 8				// 固件版本數(shù)組大小
#define HD_MN_LEN		40				// 內(nèi)部型號數(shù)組大小

// IDE的ID命令返回的信息數(shù)據(jù),共512字節(jié)
typedef struct _IDSECTOR
{
	USHORT wGenConfig;					// 01. 基本信息字
	USHORT wNumCyls;					// 02. 柱面數(shù)
	USHORT wReserved;					// 03. 保留
	USHORT wNumHeads;					// 04. 磁頭數(shù)
	USHORT wBytesPerTrack;				// 05. 字節(jié)數(shù)/每磁道
	USHORT wBytesPerSector;				// 06. 字節(jié)數(shù)/每扇區(qū)
	USHORT wSectorsPerTrack;			// 07. 每磁道扇區(qū)數(shù)
	USHORT wVendorUnique[3];			// 08. 廠家設(shè)定值
	CHAR   sSerialNumber[HD_SN_LEN];	// 09. 序列號
	USHORT wBufferType;					// 10. 緩沖類型
	USHORT wBufferSize;					// 11. 緩沖大小
	USHORT wECCSize;					// 12. ECC校驗大小
	CHAR   sFirmwareRev[HD_FR_LEN];		// 13. 固件版本
	CHAR   sModelNumber[HD_MN_LEN];		// 14. 內(nèi)部型號
	USHORT wMoreVendorUnique;			// 15. 廠家設(shè)定值
	USHORT wDoubleWordIO;				// 16. 保留

	struct
	{
		USHORT  reserved1:8;		// 保留
		USHORT  DMA:1;				// 1=支持DMA
		USHORT  LBA:1;				// 1=支持LBA
		USHORT  DisIORDY:1;			// 1=可不使用IORDY
		USHORT  IORDY:1;			// 1=支持IORDY
		USHORT  SoftReset:1;		// 1=需要ATA軟啟動
		USHORT  Overlap:1;			// 1=支持重疊操作
		USHORT  Queue:1;			// 1=支持命令隊列
		USHORT  InlDMA:1;			// 1=支持交叉存取DMA
	}
	wCapabilities;						// 17. 一般能力

	USHORT wReserved1;					// 18. 保留
	USHORT wPIOTiming;					// 19. PIO時序

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产91精品在线观看| 欧美片网站yy| 国产精品色眯眯| www.成人网.com| 一区二区成人在线| 波多野结衣亚洲| 国产99久久久久| 亚洲欧洲成人av每日更新| 一本色道久久加勒比精品| 亚洲一区二区三区视频在线| 欧美嫩在线观看| 久久爱www久久做| 久久无码av三级| av在线不卡网| 亚洲福利国产精品| 精品久久五月天| 91小视频在线| 美国av一区二区| 中文字幕乱码日本亚洲一区二区| 91原创在线视频| 麻豆精品一区二区综合av| 国产精品丝袜黑色高跟| 在线免费观看日本一区| 麻豆成人综合网| 亚洲视频在线一区观看| 欧美一级精品在线| aa级大片欧美| 免费欧美高清视频| 亚洲色图视频网站| 精品粉嫩超白一线天av| 色综合中文综合网| 天天av天天翘天天综合网色鬼国产| 国产精品久久久久一区二区三区 | 国产精品一线二线三线精华| 国产精品99久久久久久宅男| jiyouzz国产精品久久| 亚洲天堂福利av| 欧美成人高清电影在线| 成人高清在线视频| 日本不卡在线视频| 一区二区三区四区中文字幕| 国产亚洲欧美色| 欧美一区二区国产| 日本精品一级二级| 成人免费观看av| 精品亚洲成a人在线观看| 亚洲国产一区在线观看| 国产精品久久久久久久久图文区 | 亚洲欧美一区二区久久| 精品日韩成人av| 欧美日韩三级视频| a美女胸又www黄视频久久| 久久国产精品第一页| 亚洲一区二区三区四区在线观看 | 日韩毛片在线免费观看| 久久蜜桃一区二区| 欧美一区二区国产| 精品视频免费在线| 色老头久久综合| 菠萝蜜视频在线观看一区| 精彩视频一区二区| 日韩欧美三级在线| 成人免费观看视频| 日韩黄色小视频| 精品国产一区二区亚洲人成毛片| 9久草视频在线视频精品| 性久久久久久久| 久久av资源网| 色94色欧美sute亚洲线路一ni | 中文字幕亚洲成人| 欧美一区二区国产| 国产精品视频线看| 亚洲一区二区精品视频| 亚洲一二三区不卡| www.综合网.com| 精品国产免费一区二区三区香蕉| 蜜桃av一区二区三区| 一区二区三区日韩欧美精品| 欧美性一级生活| 九九精品一区二区| 亚洲精品亚洲人成人网在线播放| 欧美三级一区二区| 色综合天天做天天爱| 在线影院国内精品| 在线日韩国产精品| 97se亚洲国产综合自在线不卡| 国产成人福利片| 一区二区三区中文字幕| 成人黄色在线看| 国产91露脸合集magnet| 成人一区二区三区在线观看| 成人小视频免费观看| 暴力调教一区二区三区| 91蝌蚪porny成人天涯| 欧美综合在线视频| 欧美一区二区三区免费观看视频| 日韩一级免费一区| 国产日韩亚洲欧美综合| 污片在线观看一区二区| 亚洲图片自拍偷拍| 一区二区三区鲁丝不卡| 精品一区二区三区免费| 处破女av一区二区| 成人免费看视频| 色婷婷久久一区二区三区麻豆| 丰满少妇在线播放bd日韩电影| 欧美激情一区二区三区不卡| 国产精品色在线| 伊人色综合久久天天人手人婷| 国产欧美视频一区二区三区| 夜夜夜精品看看| 天天影视网天天综合色在线播放| 成人午夜av在线| 91精品91久久久中77777| 欧美精品一区二区在线观看| 99re热视频这里只精品| 欧美久久一二三四区| 久久久久国产精品麻豆ai换脸| 亚洲免费在线观看| 麻豆国产欧美一区二区三区| 成人动漫一区二区三区| 欧美一卡2卡三卡4卡5免费| 国产精品视频免费| 日欧美一区二区| 97久久超碰精品国产| 精品国产污污免费网站入口| 亚洲精品视频一区二区| 国产一区二区导航在线播放| 欧美视频一区在线| 国产嫩草影院久久久久| 日韩va欧美va亚洲va久久| 成人av在线播放网站| 欧美成人国产一区二区| 亚洲国产精品影院| av在线播放不卡| 亚洲精品在线三区| 日本欧美一区二区三区乱码| 在线视频中文字幕一区二区| 国产日韩精品一区| 经典三级视频一区| 欧美精品1区2区3区| 亚洲色图第一区| 成人国产亚洲欧美成人综合网| 日韩亚洲欧美一区二区三区| 亚洲资源中文字幕| 色综合视频在线观看| 丁香另类激情小说| 日本一区二区三区dvd视频在线| 99久久综合狠狠综合久久| 亚洲一区二区三区四区的| 激情六月婷婷久久| 精品国产免费人成在线观看| 久久久国产精品午夜一区ai换脸| 日日夜夜精品视频免费 | 国精产品一区一区三区mba桃花| 欧美另类一区二区三区| 欧美色图在线观看| 欧美狂野另类xxxxoooo| 欧美日韩国产影片| 日韩欧美一区二区免费| 久久亚洲精精品中文字幕早川悠里| 日韩精品一区二区三区中文精品 | 国产在线看一区| 国产成人综合网站| 成人黄色一级视频| 欧美性猛交一区二区三区精品| 91成人在线观看喷潮| 69久久99精品久久久久婷婷 | 免费一区二区视频| 成人综合婷婷国产精品久久| 91天堂素人约啪| 欧美色图片你懂的| 99精品久久99久久久久| 91蝌蚪porny| 91在线视频播放| 91蝌蚪porny九色| 久久久亚洲精华液精华液精华液| 成人免费在线视频| 美国十次综合导航| 欧美丝袜丝交足nylons图片| 日韩精品在线一区二区| 亚洲精品va在线观看| 国产精品一区二区黑丝| 日韩三级电影网址| 亚洲国产视频在线| 色婷婷国产精品久久包臀| 久久精品一区蜜桃臀影院| 免费看欧美女人艹b| 欧美三级在线播放| 亚洲免费大片在线观看| 粉嫩av亚洲一区二区图片| 精品久久久久久综合日本欧美 | 欧美美女直播网站| 一区二区免费看| aaa亚洲精品一二三区| 欧美三级电影在线观看| 欧美激情在线看| 制服丝袜亚洲色图| 国产欧美精品一区| 亚洲18女电影在线观看|