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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ramdisk.c

?? 在內存分配虛擬磁盤的驅動開發
?? C
字號:
//=============================================================================
//
// Compuware Corporation
// NuMega Lab
// 9 Townsend West
// Nashua, NH 03060  USA
//
// Copyright (c) 1998 Compuware Corporation. All Rights Reserved.
// Unpublished - rights reserved under the Copyright laws of the
// United States.
//
//=============================================================================

// RAMDISK.C - main module for VxD RAMDISK
// Copyright (c) 1996, Compuware Corporation

// This is the main module for the Registry File System Driver (RFSD). 
// RFSD presents the system Registry as file volume mounted on a hard
// drive under Windows 95. It does this by first creating a virtual 
// drive, and then installing a file system on that virtual drive. The
// file system maps file i/o calls to the system Registry. Specifically,
// directories are mapped to keys, files to values, and file contents
// to value data.
//
// RFSD is both a file system driver and a layered block device driver.
// As a file system driver, it translates file i/o requests into 
// calls to services that access the Registry. As a port driver, it
// simulates the existence of a hard drive, and provides routines to
// handle i/o requests to that drive.

// The driver may be built with either Microsoft Visual C++ 2.0 (or 
// later) or Borland C++ 4.02 (or later). 

#define   DEVICE_MAIN
#include  "ramdisk.h"
#undef    DEVICE_MAIN

// Here we declare key data structures for the driver. This macro
// invocation defines the Device Data Block for the VxD, the Device
// Registration Packet (DRP), and the IOS Linkage Block (ILB). 
// The macro is defined in vtoolsc.h. 
Declare_Port_Driver(RAMDISK,DRP_ESDI_PD,RAMDISK_NAME,\
	RAMDISK_REV,RAMDISK_FEATURE,RAMDISK_IFR,DRP_BT_ESDI,0)

// Set prototype for control message handler
DefineControlHandler(SYS_DYNAMIC_DEVICE_INIT, OnSysDynamicDeviceInit);
DefineControlHandler(SYS_DYNAMIC_DEVICE_EXIT, OnSysDynamicDeviceExit);

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
// Function
//	ControlDispatcher
//
// Purpose
//	Handles control messages sent by the system
//
// Parameters
//	dwControlMessage	message identifier
//	register parameters
//
// Return Value
//	The meaning of the return value varies depending on the
//	message, but in general, TRUE means success.
//
// Remarks
//	Like most all layered block device drivers, this driver
//	processes only SYS_DYNAMIC_DEVICE_INIT.
//
BOOL __cdecl ControlDispatcher(
	DWORD dwControlMessage,
	DWORD EBX,
	DWORD EDX,
	DWORD ESI,
	DWORD EDI,
	DWORD ECX)
{
	START_CONTROL_DISPATCH
		ON_SYS_DYNAMIC_DEVICE_INIT(OnSysDynamicDeviceInit);
		ON_SYS_DYNAMIC_DEVICE_EXIT(OnSysDynamicDeviceExit);
	END_CONTROL_DISPATCH

	return TRUE;
}

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
// Function
//	OnSysDynamicDeviceInit
//
// Purpose
//	First level initialization of the RFSD
//
// Parameters
//	None
//
// Return Value
//	Returns TRUE if successful.
//
// Remarks
//	There are two tasks to accomplish. First, the driver must
//	register with the IFSMgr. If this is successful, the driver
//	registers with the I/O Supervisor.
//
	char base[DISKSIZE];

BOOL OnSysDynamicDeviceInit()
{	
	int add_i, nsec;	
	USHORT fatEntries;
	USHORT   fatSectorCnt;
	PUCHAR firstFatSector;
	PBOOTSECT bsp;
	PWORD  fat;

	for(add_i=0;add_i<DISKSIZE;add_i++)
		base[add_i]=0;
		
	bsp = (PBOOTSECT) base;
	fat = (PWORD) (base + 512);
	nsec = DISKSIZE/512;

	// Fill in dummy boot sector so we look like a disk
	bsp->jmpinst[0] = 0xEB;
	bsp->jmpinst[1] = 0x3C;
	bsp->jmpinst[2] = 0x90;
	memcpy(bsp->vendid, "WALTONEY", 8);
	bsp->secsize = 512;					// each sector is 512 bytes long
	bsp->clustsize = 1;					// one sector per cluster
	bsp->numrsv = 1;					// no reserved sectors besides this one
	bsp->numfat = 1;					// one FAT should be enough
	bsp->numfiles = 128;				// more than enough to prove the point!
	bsp->numsectors = 0;				// fill in totsectors instead
	bsp->media = 0xF8;					// claim we're a fixed disk
	bsp->fatsectors = (WORD) ((nsec + nsec + 511) / 512);
	bsp->tracksectors = (WORD) nsec;	// only 1 track, so all sectors are on it
	bsp->numtracks = 1;					// 1 track
	bsp->numhidden = 0;					// no hidden sectors
	bsp->totsectors = nsec;				// this many sectors
	bsp->drive = 0x80;					// flag for a hard drive
	bsp->xboot = 0x29;					// flag as extended boot sector
	bsp->volid = (DWORD) base;					// use base address as volume ID
	memcpy(bsp->label, "NO NAME    ", 11);
	memcpy(bsp->fattype, "FAT16   ", 8);
	
	bsp->part[0].indicator = 0x80;
	bsp->part[0].parttype = 4;			// DOS 16-bit FAT
	bsp->part[0].bias = 0;
	bsp->part[0].partsize = nsec;
	
	bsp->signature = 0xAA55;					// boot sector signature

	// Initialize the start of the FAT at sector 1

	fat[0] = 0xFFF8;			// reserved bytes
	fat[1] = 0xFFFF;
		
		
	// Now register with the IOS, passing a pointer to the Device 
	// Registration Packet that is declared above using macro
	// Declare_Port_Driver. No error returns are defined for this call.

	IOS_Register(&RAMDISK_Drp);

	// Return TRUE to indicate a successful initialization.

	return TRUE;
}




OnSysDynamicDeviceExit()
{
	return TRUE;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美一区二区视频| 在线观看视频一区| 中文字幕欧美区| 欧美三级在线视频| 成人久久18免费网站麻豆| 午夜视黄欧洲亚洲| 国产无人区一区二区三区| 3atv一区二区三区| gogogo免费视频观看亚洲一| 日本网站在线观看一区二区三区| 欧美国产成人在线| 欧美变态口味重另类| 欧洲av在线精品| 国产 日韩 欧美大片| 日韩高清一区二区| 久久99精品久久久久婷婷| 日韩一区二区免费电影| 麻豆精品一区二区av白丝在线| 欧美丰满一区二区免费视频| 综合中文字幕亚洲| 日韩一卡二卡三卡四卡| 欧美丝袜第三区| 99久久婷婷国产精品综合| 狠狠色丁香久久婷婷综合_中 | 久久精品一区八戒影视| 制服丝袜一区二区三区| 91福利在线导航| youjizz久久| 成人免费观看男女羞羞视频| 国产伦精品一区二区三区视频青涩| 日本一区中文字幕 | 视频一区欧美日韩| 蜜桃视频一区二区三区| 精品国产乱码久久久久久闺蜜 | 亚洲一区二区在线免费观看视频 | 国产精品麻豆视频| 91蝌蚪国产九色| 免费av网站大全久久| 国产三级精品三级在线专区| 亚洲人成亚洲人成在线观看图片| 久久久午夜电影| 久久综合狠狠综合久久激情| 欧美本精品男人aⅴ天堂| 欧美一级欧美三级在线观看| 在线视频国内自拍亚洲视频| 欧美伊人久久久久久午夜久久久久| 91丝袜国产在线播放| 91福利在线观看| 欧美伊人久久大香线蕉综合69 | eeuss鲁片一区二区三区在线看 | 欧美三级欧美一级| 欧美三级三级三级| 欧美一区二区福利视频| 91精品黄色片免费大全| 日韩美女天天操| 久久先锋影音av鲁色资源网| 久久先锋影音av鲁色资源| 国产午夜精品福利| 综合精品久久久| 亚洲一区二区黄色| 日韩成人精品视频| 韩国中文字幕2020精品| 国产成人av一区二区三区在线观看| 国产a区久久久| 99视频超级精品| 欧美日韩精品综合在线| 欧美大片日本大片免费观看| 国产清纯美女被跳蛋高潮一区二区久久w | 六月丁香综合在线视频| 国内精品免费**视频| 北岛玲一区二区三区四区| 在线这里只有精品| 日韩精品一区二区三区蜜臀| 久久午夜电影网| 人人精品人人爱| 婷婷丁香激情综合| 欧美久久久一区| 4hu四虎永久在线影院成人| 欧美成人福利视频| 中文字幕免费不卡| 怡红院av一区二区三区| 裸体歌舞表演一区二区| 国产成人av一区二区三区在线观看| 国产高清无密码一区二区三区| 99在线精品观看| 久久久99精品久久| 欧美老年两性高潮| 久久久高清一区二区三区| 中文一区二区在线观看| 亚洲一卡二卡三卡四卡无卡久久| 奇米一区二区三区av| 99久久99久久精品国产片果冻| 欧美三级一区二区| 国产欧美一二三区| 免费国产亚洲视频| 色悠久久久久综合欧美99| 精品久久久三级丝袜| 亚洲国产一区二区三区| 国产91露脸合集magnet| 337p亚洲精品色噜噜狠狠| 国产精品福利一区| 国产在线不卡视频| 69精品人人人人| 一区二区三区中文在线| 国产福利一区在线| 日韩午夜av电影| 一级女性全黄久久生活片免费| 国产激情一区二区三区四区| 欧美情侣在线播放| 亚洲天天做日日做天天谢日日欢| 久久99精品国产| 欧美日韩黄色一区二区| 亚洲欧美电影院| 国产福利一区二区三区在线视频| 日韩无一区二区| 五月天激情小说综合| 色婷婷综合在线| 中文字幕一区二区三区四区不卡| 久久精品99国产精品| 欧美在线视频全部完| 亚洲欧美中日韩| 粉嫩av亚洲一区二区图片| 精品美女一区二区三区| 秋霞国产午夜精品免费视频| 欧美在线视频不卡| 亚洲午夜羞羞片| 色8久久人人97超碰香蕉987| 中文字幕不卡的av| 丁香激情综合国产| 国产女人水真多18毛片18精品视频| 精品一区二区三区香蕉蜜桃| 欧美午夜一区二区| 国产毛片精品视频| 日韩有码一区二区三区| 亚洲午夜久久久久久久久电影院 | 欧美aⅴ一区二区三区视频| 在线精品视频一区二区三四| 日韩高清电影一区| 国产欧美一区二区精品性| 91精品午夜视频| 中文字幕的久久| 成人毛片视频在线观看| 国产精品午夜春色av| 国产成人免费视频网站| 欧美国产综合一区二区| 成人高清在线视频| 国产精品视频线看| 久久色在线观看| 国产福利一区在线| 国产欧美日本一区二区三区| 粉嫩aⅴ一区二区三区四区| 亚洲国产成人午夜在线一区| 成人福利在线看| 亚洲日本欧美天堂| 欧美三级乱人伦电影| 免费观看日韩av| 亚洲精品一区二区三区影院| 国产麻豆视频精品| 综合久久久久久| 欧美美女一区二区| 激情文学综合丁香| 中文字幕在线不卡一区| 欧美少妇一区二区| 久久国产综合精品| 中文字幕在线观看一区| 在线免费视频一区二区| 日本91福利区| 中文字幕第一区第二区| 在线视频国内一区二区| 蜜臀av国产精品久久久久| 国产欧美视频一区二区三区| 91精品1区2区| 日本vs亚洲vs韩国一区三区二区 | 一本大道久久a久久综合| 午夜激情一区二区三区| 精品久久人人做人人爽| 91在线播放网址| 视频一区二区中文字幕| 欧美韩日一区二区三区四区| 欧美无砖砖区免费| 国产在线精品一区二区| 亚洲精品国产一区二区三区四区在线| 欧美丰满高潮xxxx喷水动漫| 盗摄精品av一区二区三区| 亚洲高清中文字幕| 国产蜜臀97一区二区三区| 欧美在线综合视频| 国产ts人妖一区二区| 石原莉奈一区二区三区在线观看| 久久亚洲一级片| 欧美日韩国产精选| 成人免费毛片嘿嘿连载视频| 亚洲成人黄色小说| 国产精品你懂的| 欧美一级欧美三级在线观看 | 国产成人av电影在线| 亚洲另类春色校园小说| 久久色中文字幕| 777午夜精品免费视频| 久久久高清一区二区三区|