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

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

?? ramdisk.c

?? 虛擬驅(qū)動器控制程序源代碼,驅(qū)動編程
?? 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一区二区三区免费野_久草精品视频
久久电影网站中文字幕| 亚洲视频精选在线| 婷婷国产v国产偷v亚洲高清| 久久激五月天综合精品| 精品日韩成人av| 91成人在线精品| 国产剧情在线观看一区二区| 亚洲一区二区av在线| 国产丝袜美腿一区二区三区| 欧美专区日韩专区| 成人av电影在线播放| 国产一区二区三区久久悠悠色av| 亚洲国产视频a| 亚洲视频免费观看| 国产精品久久二区二区| 精品国产伦一区二区三区观看体验 | 精品一区二区三区不卡| 夜夜爽夜夜爽精品视频| 亚洲视频在线一区| 中文字幕高清不卡| 2014亚洲片线观看视频免费| 3d动漫精品啪啪一区二区竹菊| 色哟哟一区二区三区| 成人精品在线视频观看| 国产精品资源在线| 久久97超碰国产精品超碰| 日日噜噜夜夜狠狠视频欧美人 | 欧美日韩高清影院| 色屁屁一区二区| 色婷婷狠狠综合| 99精品视频一区二区三区| 菠萝蜜视频在线观看一区| 成人av网址在线观看| 国产白丝精品91爽爽久久| 国产在线精品一区二区三区不卡| 青青草国产成人99久久| 日韩黄色免费电影| 日韩黄色在线观看| 青草av.久久免费一区| 日韩一区精品字幕| 日本成人超碰在线观看| 美女在线视频一区| 激情文学综合丁香| 顶级嫩模精品视频在线看| 岛国精品一区二区| 99视频在线观看一区三区| 菠萝蜜视频在线观看一区| 色综合久久综合中文综合网| 色嗨嗨av一区二区三区| 欧美性三三影院| 在线播放中文字幕一区| 日韩一卡二卡三卡国产欧美| 精品少妇一区二区| 国产亚洲精品资源在线26u| 国产精品理伦片| 亚洲精品国产精品乱码不99| 亚洲午夜一区二区| 免费久久99精品国产| 国产精品中文字幕一区二区三区| 成人一区二区视频| 欧洲精品一区二区三区在线观看| 欧美日韩黄色一区二区| 日韩欧美一级特黄在线播放| 久久久久久久久久美女| 1024成人网| 日韩电影在线观看电影| 国产精品亚洲人在线观看| 成人av在线电影| 欧美日韩国产首页在线观看| 欧美本精品男人aⅴ天堂| 中文子幕无线码一区tr| 亚洲自拍偷拍九九九| 韩国精品主播一区二区在线观看| heyzo一本久久综合| 欧美一区二区在线视频| 久久久久久久综合日本| 亚洲综合一区二区| 国产精品一品视频| 欧美中文字幕一二三区视频| 欧美刺激脚交jootjob| 亚洲三级在线免费观看| 蜜臀精品久久久久久蜜臀| 成人黄色一级视频| 欧美久久久久久久久| 国产欧美一区二区在线观看| 亚洲自拍偷拍麻豆| 国产1区2区3区精品美女| 欧美视频一二三区| 国产精品久久久久9999吃药| 日韩av一二三| 色综合天天综合网天天狠天天 | 在线免费观看不卡av| 精品国产免费视频| 午夜视频一区在线观看| 粗大黑人巨茎大战欧美成人| 91精品国产综合久久精品麻豆| 中文字幕+乱码+中文字幕一区| 男男视频亚洲欧美| 日本二三区不卡| 欧美国产成人精品| 久久精品国产秦先生| 欧美色图在线观看| 国产精品久久久久国产精品日日| 久久激情五月婷婷| 欧美日韩dvd在线观看| 中文字幕一区二区三区蜜月 | 99国产欧美另类久久久精品| 精品国产一区二区精华| 视频一区视频二区中文字幕| bt7086福利一区国产| 国产午夜精品久久久久久久| 日韩成人一级片| 欧美亚一区二区| 亚洲欧美国产三级| 成人黄色电影在线 | 亚洲三级电影全部在线观看高清| 久久99久久精品| 6080亚洲精品一区二区| 亚洲一卡二卡三卡四卡| 色婷婷综合视频在线观看| 亚洲欧美自拍偷拍色图| 国产91高潮流白浆在线麻豆| 久久久久久久久久美女| 国产一区二区h| 久久综合九色综合欧美亚洲| 久久精品久久精品| 日韩视频一区二区三区在线播放| 三级久久三级久久| 欧美精品高清视频| 天天做天天摸天天爽国产一区 | 欧美日本不卡视频| 亚洲一本大道在线| 欧美日韩不卡视频| 日本在线观看不卡视频| 91精品国产综合久久精品app| 亚洲va欧美va国产va天堂影院| 欧美系列日韩一区| 亚洲成人激情社区| 欧美一区二区三区人| 免费成人在线网站| 精品精品国产高清一毛片一天堂| 蜜桃精品视频在线观看| 欧美精品一区二区久久婷婷| 99国产精品国产精品毛片| 成人欧美一区二区三区视频网页| av电影在线观看一区| 亚洲精品写真福利| 欧美日韩一区二区三区四区| 亚洲成人av一区| 欧美一级片在线看| 国产精品自在在线| 亚洲视频免费在线| 欧美久久一二区| 狠狠狠色丁香婷婷综合久久五月| 久久久久久久久久久久久女国产乱 | 午夜激情综合网| 欧美www视频| 国产一区二区成人久久免费影院| 中文一区二区在线观看| 色婷婷一区二区三区四区| 亚洲成人动漫精品| 欧美电影免费观看高清完整版在线 | 久久免费的精品国产v∧| 国产1区2区3区精品美女| 亚洲男人电影天堂| 欧美高清dvd| 国产成人精品免费视频网站| 亚洲最色的网站| 日韩欧美www| fc2成人免费人成在线观看播放| 亚洲午夜久久久久中文字幕久| 精品国产1区2区3区| 91亚洲午夜精品久久久久久| 日韩av电影免费观看高清完整版 | 日本一区二区成人| 亚洲欧美日韩一区| 亚洲成人在线网站| 日韩美女视频一区二区在线观看| 精品午夜一区二区三区在线观看| 国产精品盗摄一区二区三区| 欧美日韩一二三| 国产成人8x视频一区二区 | 成人免费在线视频观看| 777a∨成人精品桃花网| 国产一二精品视频| 亚洲午夜视频在线观看| 中文在线免费一区三区高中清不卡| 欧美日韩精品三区| 成人成人成人在线视频| 日本视频一区二区三区| 国产精品福利av| 2023国产精品| 欧美欧美欧美欧美| 91麻豆自制传媒国产之光| 欧美日本不卡视频| 91美女福利视频| 国产**成人网毛片九色| 另类小说一区二区三区| 亚洲第一精品在线| 亚洲天堂成人在线观看|