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

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

?? service.cpp

?? 一本在講述USB驅動程式的書 及其范例原碼
?? CPP
字號:
// SERVICE.CPP -- Implementation of CService class
// Copyright (C) 1999 by Walter Oney
// All rights reserved

#include "stdafx.h"
#include "service.h"

#ifndef NTSERVICE
	#error This file should only be used in the NT service build!
#endif

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

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

CService::CService(DWORD type, DWORD ControlsAccepted)
	{							// CService::CService
	m_hService = NULL;
	memset(&m_status, 0, sizeof(m_status));
	m_hevDone = NULL;

	m_status.dwServiceType = type;
	m_status.dwControlsAccepted = ControlsAccepted;
	}							// CService::CService

CService::~CService()
	{							// CService::~CService
	if (m_hevDone)
		CloseHandle(m_hevDone);
	}							// CService::~CService

void __stdcall CService::HandlerThunk(CService* service, DWORD ctlcode)
	{							// CService::HandlerThunk
	service->Handler(ctlcode);
	}							// CService::HandlerThunk

void __stdcall CService::ServiceMainThunk(CService* service, DWORD argc, TCHAR* argv[])
	{							// CService::ServiceMainThunk
	service->ServiceMain(argc, argv);
	}							// CService::ServiceMainThunk

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

void CService::Handler(DWORD ctlcode)
	{							// CService::Handler
	if (ctlcode == SERVICE_CONTROL_STOP)
		{						// stopping service
		SetEvent(m_hevDone);
		m_status.dwCurrentState = SERVICE_STOPPED;
		}						// stopping service

	UpdateStatus();
	}							// CService::Handler

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

DWORD CService::HandleDeviceChange(DWORD evtype, _DEV_BROADCAST_HEADER* dbhdr)
	{							// CService::HandleDeviceChange
	return NO_ERROR;
	}							// CService::HandleDeviceChange

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

DWORD CService::HandlePowerEvent(DWORD evtype, DWORD flags)
	{							// CService::HandlePowerEvent
	return NO_ERROR;
	}							// CService::HandlePowerEvent

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

DWORD __stdcall CService::HandlerExThunk(CService* service, DWORD ctlcode, DWORD evtype, PVOID evdata)
	{							// CService::HandlerExThunk
	switch (ctlcode)
		{						// handle extended notification

	case SERVICE_CONTROL_DEVICEEVENT:
	case SERVICE_CONTROL_HARDWAREPROFILECHANGE:
		return service->HandleDeviceChange(evtype, (_DEV_BROADCAST_HEADER*) evdata);

	case SERVICE_CONTROL_POWEREVENT:
		return service->HandlePowerEvent(evtype, (DWORD) evdata);

	default:
		service->Handler(ctlcode);
		return NO_ERROR;
		}						// handle extended notification
	}							// CService::HandlerExThunk

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

void CService::Run()
	{							// CService::Run
	WaitForSingleObject(m_hevDone, INFINITE);
	}							// CService::Run

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

void CService::ServiceMain(DWORD argc, TCHAR* argv[])
	{							// CService::ServiceMain
	if (!m_hService)
		{
		TRACE(_T("Error %d in RegisterServiceCtrlHandler\n"), GetLastError());
		return;
		}
	
	if (!(m_hevDone = CreateEvent(NULL, FALSE, FALSE, NULL)))
		{
		TRACE(_T("Error %d creating event\n"), GetLastError());
		return;
		}

	m_status.dwCheckPoint = 1;
	m_status.dwWaitHint = 10000;	// 10 seconds
	UpdateStatus(SERVICE_START_PENDING);

	DWORD code = InitService(argc, argv);
	if (code != 0)
		{						// error initializing
		TRACE(_T("Failing service startup with code %d\n"), code);
		UpdateStatus(SERVICE_STOPPED, code);
		return;
		}						// error initializing

	UpdateStatus(SERVICE_RUNNING);

	Run();

	ShutdownService();
	UpdateStatus(SERVICE_STOPPED);
	}							// CService::ServiceMain

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

void CService::UpdateStatus()
	{							// CService::UpdateStatus
	SetServiceStatus(m_hService, &m_status);
	}							// CService::UpdateStatus

void CService::UpdateStatus(DWORD state, DWORD code /* = 0 */)
	{							// CService::UpdateStatus
	m_status.dwCurrentState = state;
	m_status.dwServiceSpecificExitCode = code;
	m_status.dwWin32ExitCode = code ? ERROR_SERVICE_SPECIFIC_ERROR : 0;

	SetServiceStatus(m_hService, &m_status);
	}							// CService::UpdateStatus

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美国产日韩亚洲一区| 精品粉嫩超白一线天av| 国产成人精品网址| 激情深爱一区二区| 久久91精品国产91久久小草| 麻豆成人久久精品二区三区小说| 日韩精品福利网| 蓝色福利精品导航| 久久99国产精品免费| 国产一区二区不卡在线| 国产成都精品91一区二区三| 成人爱爱电影网址| 91成人看片片| 91精品国产福利在线观看| 欧美一区二区三区在线看| 日韩精品一区二区三区中文精品| 久久综合九色综合欧美就去吻| 久久久久国产一区二区三区四区| 国产日韩精品一区二区三区| 中文字幕在线不卡一区| 亚洲电影一级片| 韩国成人福利片在线播放| 成人激情开心网| 欧洲精品视频在线观看| www一区二区| 一区二区三区小说| 美女视频黄频大全不卡视频在线播放| 另类调教123区| 97se亚洲国产综合在线| 7777精品伊人久久久大香线蕉| 精品入口麻豆88视频| 中文字幕日韩欧美一区二区三区| 夜夜爽夜夜爽精品视频| 久久成人久久鬼色| 91在线观看污| 日韩精品一区国产麻豆| 亚洲精品一二三区| 国产在线不卡视频| 欧美性大战久久久久久久蜜臀| 精品国产免费人成在线观看| 亚洲美女淫视频| 国产成人免费网站| 欧美久久久久免费| 国产精品高潮久久久久无| 舔着乳尖日韩一区| 91在线丨porny丨国产| 欧美大黄免费观看| 亚洲午夜精品网| 99久久综合精品| 久久亚洲捆绑美女| 日本不卡的三区四区五区| 色屁屁一区二区| 久久欧美中文字幕| 免费欧美高清视频| 在线播放91灌醉迷j高跟美女 | 欧美精品一区二区三| 亚洲伦在线观看| 岛国一区二区在线观看| 欧美成人精精品一区二区频| 亚洲aaa精品| 欧美三级乱人伦电影| 一区二区三区四区中文字幕| 91免费国产在线| 国产精品毛片大码女人| 国产激情精品久久久第一区二区 | 欧美色精品天天在线观看视频| 中文字幕av一区二区三区免费看 | 色哦色哦哦色天天综合| 国产日韩一级二级三级| 国产一区二区调教| 2019国产精品| 国产一区不卡精品| 久久久久久久久蜜桃| 粉嫩久久99精品久久久久久夜| 精品少妇一区二区三区| 国产一区二区三区不卡在线观看| 5858s免费视频成人| 日韩福利视频导航| 欧美精品一卡两卡| 日本在线不卡一区| 日韩欧美国产午夜精品| 久久国内精品视频| 久久久久久久久久美女| 成人深夜在线观看| 亚洲色图欧洲色图| 欧美另类videos死尸| 日本不卡在线视频| 久久综合成人精品亚洲另类欧美| 国产精品综合久久| 日韩一区欧美小说| 欧美亚洲日本一区| 美国三级日本三级久久99 | 国产精品乱人伦| 不卡的av在线播放| 亚洲高清免费观看| 欧美大片一区二区三区| 波多野洁衣一区| 亚洲成av人在线观看| 欧美变态tickle挠乳网站| 成人sese在线| 午夜av区久久| 国产人成一区二区三区影院| 一本到一区二区三区| 日本视频一区二区三区| 国产三级精品三级| 欧美探花视频资源| 国产精品一二三四| 亚洲二区在线视频| 国产欧美日韩久久| 欧美一区午夜视频在线观看 | 亚洲成av人片| 久久久一区二区三区捆绑**| 95精品视频在线| 日日摸夜夜添夜夜添亚洲女人| 久久综合久久鬼色| 欧美日本在线视频| 国产九色sp调教91| 天堂va蜜桃一区二区三区| 久久久久久久久久久久久久久99| 91尤物视频在线观看| 毛片一区二区三区| 一区二区三区小说| 国产日韩欧美电影| 日韩一区二区中文字幕| 色综合视频在线观看| 精品在线你懂的| 五月激情六月综合| 亚洲男同性恋视频| 欧美激情在线看| 欧美精品一区二区三区视频| 在线播放一区二区三区| 91精品福利在线| 不卡av在线网| 国产成人aaa| 精品一二三四在线| 午夜成人免费视频| 亚洲一区二区三区视频在线| 国产欧美视频一区二区| 欧美日韩三级在线| aaa欧美日韩| 国产黄人亚洲片| 蜜桃久久av一区| 亚洲成人动漫av| 一区二区三区资源| 国产精品二三区| 国产精品久线在线观看| 国产日韩亚洲欧美综合| 精品国产区一区| 精品毛片乱码1区2区3区| 91精品综合久久久久久| 91精品国产综合久久福利软件| 欧美日韩三级视频| 91精品一区二区三区久久久久久| 欧美人xxxx| 日韩色在线观看| 91精品国产全国免费观看| 6080日韩午夜伦伦午夜伦| 在线不卡中文字幕| 91精品国产综合久久香蕉麻豆| 欧美三区免费完整视频在线观看| 色噜噜狠狠成人网p站| 色激情天天射综合网| 色呦呦一区二区三区| 一本大道久久精品懂色aⅴ| 欧美性大战久久久久久久蜜臀| 欧美日韩免费不卡视频一区二区三区 | 欧美日韩三级在线| 777a∨成人精品桃花网| 亚洲精品在线电影| 国产精品美女久久久久久久久| 国产精品私人自拍| 亚洲成国产人片在线观看| 麻豆精品在线观看| 成人性生交大片免费看中文网站| 99久久精品免费看国产免费软件| 欧美亚洲尤物久久| 欧美成人一区二区| 日本一区二区成人| 亚洲欧美日韩久久精品| 青青草原综合久久大伊人精品| 美女视频黄 久久| 不卡av在线免费观看| 欧美高清性hdvideosex| 久久久激情视频| 亚洲一区二区三区四区的| 精品一区二区国语对白| 色综合久久综合| 亚洲精品一区二区三区影院| 成人免费小视频| 美美哒免费高清在线观看视频一区二区 | www.色精品| 这里是久久伊人| 中文字幕av一区 二区| 亚洲成人资源网| 粉嫩欧美一区二区三区高清影视 | 国产精一区二区三区| 欧洲精品在线观看| 国产情人综合久久777777| 性感美女久久精品| av不卡免费在线观看|