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

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

?? dim.cpp

?? 自己動手寫操作系統源代碼,不可多得的代碼
?? CPP
字號:
//***********************************************************************/
//    Author                    : Garry
//    Original Date             : Feb,25 2005
//    Module Name               : dim.cpp
//    Module Funciton           : 
//                                This module countains the implementation code of Device
//                                Input Manager.
//    Last modified Author      :
//    Last modified Date        :
//    Last modified Content     :
//                                1.
//                                2.
//    Lines number              :
//***********************************************************************/

#ifndef __STDAFX_H__
#include "..\INCLUDE\StdAfx.h"
#endif

//
//The implementation of Initialize routine.
//

static BOOL DimInitialize(__COMMON_OBJECT* lpThis,
						  __COMMON_OBJECT* lpFocusThread,
						  __COMMON_OBJECT* lpShellThread)
{
	__DEVICE_INPUT_MANAGER*    lpInputMgr = NULL;

	if(NULL == lpThis)    //Parameter check.
		return FALSE;

	lpInputMgr = (__DEVICE_INPUT_MANAGER*)lpThis;

	lpInputMgr->lpFocusKernelThread = (__KERNEL_THREAD_OBJECT*)lpFocusThread;
	lpInputMgr->lpShellKernelThread = (__KERNEL_THREAD_OBJECT*)lpShellThread;

	return TRUE;
}


//
//The implementation of SendDeviceMessage.
//

static DWORD SendDeviceMessage(__COMMON_OBJECT*    lpThis,
							   __DEVICE_MESSAGE*   lpDevMsg,
							   __COMMON_OBJECT*    lpTarget)
{
	__DEVICE_INPUT_MANAGER*    lpInputMgr     = NULL;
	//__KERNEL_THREAD_OBJECT*    lpTargetThread = NULL;
	__KERNEL_THREAD_MESSAGE*   lpThreadMsg    = NULL;
	DWORD                      dwFlags        = 0L;

	if((NULL == lpThis) || (NULL == lpDevMsg))    //Parameter check.
		return DEVICE_MANAGER_FAILED;

	lpInputMgr   = (__DEVICE_INPUT_MANAGER*)lpThis;
	lpThreadMsg  = (__KERNEL_THREAD_MESSAGE*)lpDevMsg;

	if(lpTarget != NULL)
	{
		SendMessage(lpTarget,lpThreadMsg);
		return DEVICE_MANAGER_SUCCESS;
	}

	if(lpInputMgr->lpFocusKernelThread != NULL)
	{
		if(KERNEL_THREAD_STATUS_TERMINAL == lpInputMgr->lpFocusKernelThread->dwThreadStatus)    
			//The current focus
			//kernel thread is
			//terminal,so we must
			//reset the current
			//focus kernel thread
			//pointer,and send the
			//device message to shell
			//kernel thread.
		{
			//ENTER_CRITICAL_SECTION();
			__ENTER_CRITICAL_SECTION(NULL,dwFlags);
			lpInputMgr->lpFocusKernelThread = NULL;
			//LEAVE_CRITICAL_SECTION();
			__LEAVE_CRITICAL_SECTION(NULL,dwFlags);

			if(NULL != lpInputMgr->lpShellKernelThread)
			{
				SendMessage((__COMMON_OBJECT*)(lpInputMgr->lpShellKernelThread),
					lpThreadMsg);
				return DEVICE_MANAGER_SUCCESS;
			}
			else    //The current shell kernel thread is not exists.
			{
				return DEVICE_MANAGER_NO_SHELL_THREAD;
			}
		}           //The current status of the focus kernel thread is not TERMINAL.
		else
		{
			SendMessage((__COMMON_OBJECT*)lpInputMgr->lpFocusKernelThread,
				lpThreadMsg);
			return DEVICE_MANAGER_SUCCESS;
		}
	}
	else            //The current focus kernel thread is not exists.
	{
		if(NULL != lpInputMgr->lpShellKernelThread)
		{
			SendMessage((__COMMON_OBJECT*)lpInputMgr->lpShellKernelThread,
				lpThreadMsg);
			return DEVICE_MANAGER_SUCCESS;
		}
		else
		{
			return DEVICE_MANAGER_NO_SHELL_THREAD;
		}
	}

	return DEVICE_MANAGER_SUCCESS;
}

//
//The implementation of SetFocusThread routine.
//

static __COMMON_OBJECT* SetFocusThread(__COMMON_OBJECT*  lpThis,
									   __COMMON_OBJECT*  lpFocusThread)
{
	__DEVICE_INPUT_MANAGER*    lpInputMgr = NULL;
	__KERNEL_THREAD_OBJECT*    lpRetVal   = NULL;
	DWORD                      dwFlags    = 0L;
	
	if(NULL == lpThis)    //Parameter check.
		return (__COMMON_OBJECT*)lpRetVal;

	lpInputMgr = (__DEVICE_INPUT_MANAGER*)lpThis;

	lpRetVal = lpInputMgr->lpFocusKernelThread;

	//ENTER_CRITICAL_SECTION();
	__ENTER_CRITICAL_SECTION(NULL,dwFlags);
	lpInputMgr->lpFocusKernelThread = (__KERNEL_THREAD_OBJECT*)lpFocusThread;
	//LEAVE_CRITICAL_SECTION();
	__LEAVE_CRITICAL_SECTION(NULL,dwFlags);

	return (__COMMON_OBJECT*)lpRetVal;
}

//
//The implementation of SetShellThread routine.
//

static __COMMON_OBJECT* SetShellThread(__COMMON_OBJECT*  lpThis,
									   __COMMON_OBJECT*  lpShellThread)
{
	__DEVICE_INPUT_MANAGER*    lpInputMgr = NULL;
	__KERNEL_THREAD_OBJECT*    lpRetVal   = NULL;
	DWORD                      dwFlags    = 0L;
	
	if(NULL == lpThis)    //Parameter check.
		return (__COMMON_OBJECT*)lpRetVal;

	lpInputMgr = (__DEVICE_INPUT_MANAGER*)lpThis;

	lpRetVal = lpInputMgr->lpShellKernelThread;

	//ENTER_CRITICAL_SECTION();
	__ENTER_CRITICAL_SECTION(NULL,dwFlags);
	lpInputMgr->lpShellKernelThread = (__KERNEL_THREAD_OBJECT*)lpShellThread;
	//LEAVE_CRITICAL_SECTION();
	__LEAVE_CRITICAL_SECTION(NULL,dwFlags);

	return (__COMMON_OBJECT*)lpRetVal;
}


/************************************************************************
*************************************************************************
*************************************************************************
*************************************************************************
************************************************************************/

//
//The definition of Global Object DeviceInputManager.
//

__DEVICE_INPUT_MANAGER DeviceInputManager = {
	NULL,                                     //lpFocusKernelThread.
	NULL,                                     //lpShellKernelThread.
	SendDeviceMessage,                        //SendDeviceMessage routine.
	SetFocusThread,                           //SetFocusThread routine.
	SetShellThread,                           //SetShellThread routine.
	DimInitialize                             //Initialize routine.
};


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产sm最大网站| 337p亚洲精品色噜噜噜| 精品在线播放免费| 毛片不卡一区二区| 精品一区二区三区的国产在线播放| 伊人性伊人情综合网| 亚洲国产成人av| 日韩极品在线观看| 蜜桃av一区二区三区电影| 狂野欧美性猛交blacked| 久久成人18免费观看| 国产精品一区二区视频| 99久久国产综合精品女不卡| 91久久国产综合久久| 欧美日产在线观看| 欧美大片一区二区| 亚洲国产精品成人久久综合一区| 中文在线资源观看网站视频免费不卡 | 国精产品一区一区三区mba视频| 日本vs亚洲vs韩国一区三区| 国产一区二区三区不卡在线观看 | 久久精品999| 粉嫩蜜臀av国产精品网站| 99久久综合精品| 欧美日韩高清在线播放| 久久一日本道色综合| 亚洲欧美一区二区三区孕妇| 午夜久久电影网| 国产乱码一区二区三区| 91黄色免费看| 欧美成人一区二区三区片免费| 国产日韩欧美亚洲| 一区二区三区日韩精品| 美女视频一区二区三区| 91日韩在线专区| 欧美不卡视频一区| 亚洲精品乱码久久久久久| 久久丁香综合五月国产三级网站| av资源网一区| 精品免费国产一区二区三区四区| 国产精品高潮呻吟| 免费欧美在线视频| 99久久伊人久久99| 精品少妇一区二区三区视频免付费 | 中文字幕在线免费不卡| 日韩高清一区二区| 91小宝寻花一区二区三区| 欧美一级理论片| 亚洲自拍欧美精品| 成人av资源在线观看| 欧美丰满美乳xxx高潮www| 亚洲私人黄色宅男| 国产**成人网毛片九色| 欧美疯狂性受xxxxx喷水图片| 国产欧美精品一区二区三区四区 | 91麻豆高清视频| 久久综合丝袜日本网| 午夜精品免费在线| 91女厕偷拍女厕偷拍高清| 精品999久久久| 久久精品99国产国产精| 欧美精品在欧美一区二区少妇| 国产精品久久久99| 国产综合色在线视频区| 91精品国产免费| 日韩在线卡一卡二| 欧美精品一二三区| 午夜精品久久久久久久蜜桃app | 蜜臀91精品一区二区三区| 欧美视频你懂的| 亚洲香肠在线观看| 欧美午夜不卡视频| 五月婷婷综合激情| 日韩一区二区中文字幕| 日韩av中文在线观看| 欧美精品第一页| 亚洲mv大片欧洲mv大片精品| 欧美色视频在线观看| 午夜精品久久久久久| 欧美老人xxxx18| 久久精品国内一区二区三区| 精品理论电影在线观看| 国产福利91精品| 国产精品久久久久永久免费观看 | 欧美一区二区三区不卡| 七七婷婷婷婷精品国产| 精品国产成人系列| 国产乱码精品一区二区三区忘忧草 | 欧美日韩mp4| 美国十次了思思久久精品导航| 久久综合狠狠综合久久激情 | 五月天亚洲婷婷| 日韩午夜电影在线观看| 久久国产精品99精品国产| 国产亚洲欧美日韩在线一区| 91在线观看一区二区| 亚洲在线视频免费观看| 欧美二区乱c少妇| 国产精品综合一区二区三区| 亚洲人成在线播放网站岛国| 欧美肥妇bbw| 国产成人av电影在线观看| 亚洲人快播电影网| 在线不卡中文字幕| 国产福利视频一区二区三区| 亚洲日本免费电影| 日韩欧美一级在线播放| 成人国产亚洲欧美成人综合网| 一区二区三区四区不卡在线| 欧美一区二区不卡视频| 国产99久久久久| 亚洲一区二区三区小说| 久久久www成人免费无遮挡大片| 色婷婷综合激情| 国产乱码精品一区二区三区av| 一区二区成人在线视频| 精品第一国产综合精品aⅴ| 色妞www精品视频| 国产一区二区三区免费看| 亚洲一区二区三区不卡国产欧美| 久久综合视频网| 欧美日高清视频| 色综合一区二区三区| 国产一区二区三区美女| 三级不卡在线观看| 亚洲免费电影在线| 国产人成一区二区三区影院| 欧美精品九九99久久| 色狠狠色噜噜噜综合网| 国产不卡视频一区| 国产在线精品视频| 日韩av中文字幕一区二区 | 5月丁香婷婷综合| 91日韩一区二区三区| 丁香婷婷综合网| 国内精品久久久久影院一蜜桃| 日韩高清在线一区| 亚洲第一电影网| 亚洲国产日韩一级| 一区二区三区在线观看国产| 国产欧美日韩视频一区二区 | 不卡av在线免费观看| 国产一区二区三区黄视频| 麻豆精品一二三| 麻豆91精品视频| 蜜臀精品久久久久久蜜臀| 三级久久三级久久久| 日韩精品一级二级 | 国产丶欧美丶日本不卡视频| 狂野欧美性猛交blacked| 免费人成在线不卡| 麻豆成人av在线| 激情另类小说区图片区视频区| 美女一区二区久久| 韩日av一区二区| 丰满白嫩尤物一区二区| 99久久婷婷国产综合精品电影 | 日本 国产 欧美色综合| 日日噜噜夜夜狠狠视频欧美人| 日韩综合小视频| 美女脱光内衣内裤视频久久网站| 蜜臀久久久99精品久久久久久| 韩国女主播一区| 国产v日产∨综合v精品视频| 国产精品18久久久| 国产成a人无v码亚洲福利| 一本色道久久综合亚洲91 | 日韩美女天天操| 久久久精品一品道一区| 中文一区在线播放| 亚洲女女做受ⅹxx高潮| 天堂影院一区二区| 国产乱码精品一区二区三区av | 久久精品一二三| 亚洲婷婷在线视频| 婷婷一区二区三区| 国产自产视频一区二区三区| 成人av小说网| 欧美精品日韩综合在线| 久久久久久久国产精品影院| 亚洲欧美日韩国产手机在线| 日韩精彩视频在线观看| 国产成人精品网址| 欧美午夜一区二区三区免费大片| 欧美一区二区在线免费播放| 欧美国产精品一区二区| 亚洲丶国产丶欧美一区二区三区| 国产在线视频一区二区三区| 色综合天天综合给合国产| 日韩欧美亚洲一区二区| 国产精品理论在线观看| 三级欧美韩日大片在线看| thepron国产精品| 日韩精品一区在线观看| 亚洲综合一区在线| 成人性生交大片免费看中文| 日韩欧美你懂的| 亚洲制服欧美中文字幕中文字幕| 国产一区视频导航| 亚洲图片欧美视频|