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

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

?? dim.cpp

?? 小型的操作系統(tǒng)開發(fā)的原代碼
?? 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.
};


?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
丁香啪啪综合成人亚洲小说| 亚洲摸摸操操av| 欧美日韩在线播放三区| 成人国产一区二区三区精品| 国产一区二区三区日韩| 日韩一区精品字幕| 日韩国产欧美三级| 人妖欧美一区二区| 日韩精品电影在线| 免费观看一级特黄欧美大片| 亚洲成人777| 日韩在线卡一卡二| 韩国av一区二区| 国产大陆a不卡| 99vv1com这只有精品| 成人动漫一区二区在线| 国产一区二区在线观看视频| 国产成人精品一区二| 精品一区二区成人精品| 国产尤物一区二区在线| 国产一区二区三区av电影| 毛片av一区二区三区| 国产美女av一区二区三区| 国产成人午夜精品5599| 成人性生交大片免费看中文网站| www.一区二区| 欧美日韩国产一二三| 日韩欧美激情四射| 亚洲欧洲日韩女同| 天堂va蜜桃一区二区三区| 久久99深爱久久99精品| 91片在线免费观看| 欧美一区二区三区男人的天堂| 精品日韩一区二区三区| 国产欧美日韩久久| 亚洲一区二区三区在线| 另类成人小视频在线| 国产资源在线一区| 色综合久久中文字幕| 日韩欧美亚洲国产另类| 国产精品久久国产精麻豆99网站| 一区二区三区欧美激情| 国产综合一区二区| 欧美日韩一级二级三级| 国产精品理论片| 美女爽到高潮91| 一本大道久久a久久综合| 欧美成人官网二区| 亚洲综合一区二区三区| 国产精品中文字幕日韩精品 | 麻豆精品一二三| 99久久国产免费看| 日韩欧美国产午夜精品| 亚洲人精品午夜| 韩国成人在线视频| 欧美日韩高清影院| 国产精品福利在线播放| 国产乱码精品一品二品| 欧美一级搡bbbb搡bbbb| 亚洲超碰精品一区二区| 91美女在线观看| 国产精品的网站| 国产成人精品aa毛片| 欧美va亚洲va香蕉在线| 日韩电影在线观看网站| 欧美日韩久久一区| 亚洲伊人伊色伊影伊综合网| 国产成人一区二区精品非洲| 精品久久久影院| 日韩专区欧美专区| 制服.丝袜.亚洲.中文.综合| 亚洲成a人片在线不卡一二三区| 91污片在线观看| 成人欧美一区二区三区黑人麻豆| 成人三级在线视频| 日本一区二区三区四区| 国产v日产∨综合v精品视频| 久久你懂得1024| 激情综合色综合久久综合| 日韩免费一区二区三区在线播放| 蜜臀91精品一区二区三区| 欧美一区二区在线免费观看| 肉肉av福利一精品导航| 欧美一区二区三区视频| 日本aⅴ精品一区二区三区 | 国产一区二区影院| 日韩精品一区二区三区视频 | 色婷婷综合五月| 亚洲三级电影网站| 欧美午夜不卡在线观看免费| 久久青草国产手机看片福利盒子 | 成人在线视频首页| 欧美激情在线一区二区| 不卡的电视剧免费网站有什么| 国产日韩精品久久久| 成人免费毛片片v| 综合久久久久久| 91色porny蝌蚪| 亚洲va欧美va人人爽| 欧美一区二区黄| 久久aⅴ国产欧美74aaa| 国产午夜亚洲精品午夜鲁丝片| 99re这里只有精品6| 午夜一区二区三区在线观看| 日韩精品一区二区三区蜜臀| 成人精品小蝌蚪| 亚洲国产成人精品视频| 精品国产欧美一区二区| 成+人+亚洲+综合天堂| 亚洲色图一区二区| 欧美一区二区美女| 国产成人自拍在线| 伊人婷婷欧美激情| 欧美成人一区二区| 99国产精品一区| 日本va欧美va欧美va精品| 亚洲国产精品国自产拍av| 欧洲一区在线观看| 国产一区欧美一区| 婷婷综合久久一区二区三区| 国产欧美日韩一区二区三区在线观看| 成人avav影音| 蜜臀久久久99精品久久久久久| 国产日韩三级在线| 欧美精品在线观看一区二区| 成人理论电影网| 奇米四色…亚洲| 亚洲视频电影在线| 精品久久人人做人人爽| 欧美性三三影院| 高潮精品一区videoshd| 奇米精品一区二区三区在线观看 | 精品99999| 欧美三级日韩三级| 国产成人在线电影| 韩国视频一区二区| 青青草视频一区| 午夜久久久久久久久| 亚洲欧美韩国综合色| 欧美国产欧美综合| 91精品国产91久久综合桃花| 在线视频你懂得一区| av成人免费在线观看| 久久99精品国产91久久来源| 樱花影视一区二区| 成人免费在线播放视频| 中文字幕精品一区二区三区精品| 欧美v亚洲v综合ⅴ国产v| 在线观看网站黄不卡| 日本道精品一区二区三区| av中文字幕不卡| 成人黄色片在线观看| 不卡一二三区首页| 成人免费观看av| av影院午夜一区| 91在线观看成人| 99久久国产免费看| 91极品美女在线| 欧美日韩一区三区四区| 欧美日韩高清影院| 欧美精品 国产精品| 欧美一区二区三区性视频| 日韩一级完整毛片| 日韩一区和二区| 26uuu精品一区二区在线观看| 日韩精品一区二区三区中文不卡| 欧美成人艳星乳罩| 亚洲国产精品黑人久久久| 成人欧美一区二区三区| 亚洲成人免费在线| 奇米影视一区二区三区小说| 国产麻豆9l精品三级站| 不卡av电影在线播放| 色94色欧美sute亚洲线路二| 欧美夫妻性生活| 久久影院午夜片一区| 国产精品国产三级国产aⅴ原创 | 久久久精品免费免费| 国产精品不卡在线| 天天综合色天天| 国产麻豆91精品| 欧美性猛交xxxx黑人交| 欧美一区二区三区播放老司机| 国产日韩综合av| 亚洲成人免费在线观看| 国产精品12区| 欧美亚洲综合网| 久久精品一区四区| 亚洲国产成人av网| 国产乱一区二区| 欧美性猛交xxxx黑人交| 国产亚洲欧洲一区高清在线观看| 亚洲精品写真福利| 国产一区二区福利视频| 欧美日韩中文字幕精品| 国产调教视频一区| 日本亚洲最大的色成网站www| 粉嫩欧美一区二区三区高清影视 | 一区二区在线电影| 国产成人午夜精品影院观看视频|