青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

yehao's Blog

后臺服務程序開發模式(二)

轉自http://www.7880.com/Info/Article-5a903440.html

2.服務入口點函數

 

服務入口點函數 service_main 首先調用系統函數 RegisterServiceCtrlHandler 注冊服務控制處理函數 service_ctrl,然后調用 ReportStatusToSCMgr 函數,它通過系統函數 SetServiceStatus 更新服務的狀態,然后調用特定的服務初始化入口函數 ServiceStart 完成具體的初始化工作。

 

 

//服務入口點函數

void ServiceStart(DWORD dwArgc,LPTSTR* lpszArgv);//具體服務的初始化入口函數
 
void  WINAPI  Service_Main(DWORD dwArgc, LPTSTR *lpszArgv)

{

     //注冊服務控制處理函數

     sshStatusHandle=RegisterServiceCtrlHandler(TEXT(SZSERVICENAME),Service_Ctrl);

     //如果注冊失敗

     if(!sshStatusHandle)

     {

         goto cleanup;

         return;

     }

     //初始化 SERVICE_STATUS 結構中的成員

     ssStatus.dwServiceType=SERVICE_WIN32_OWN_PROCESS;

     ssStatus.dwServiceSpecificExitCode=0;

     //更新服務狀態

     if(!ReportStatusToSCMgr(

         SERVICE_START_PENDING,//服務狀態,The service is starting.

         NO_ERROR,            //退出碼        

         3000))                   //等待時間

         goto cleanup;        //更新服務狀態失敗則轉向 cleanup

     ServiceStart(dwArgc,lpszArgv);

     return;

cleanup:

     //把服務狀態更新為 SERVICE_STOPPED,并退出。

     if(sshStatusHandle)

         (void)ReportStatusToSCMgr(SERVICE_STOPPED,dwErr,0);

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.控制處理程序函數

 

 

3.控制處理程序函數

函數 Service_Ctrl 是服務的控制處理程序函數,由主函數線程的控制分發程序引用。在處理控制請求碼時,應該在確定的時間間隔內更新服務狀態檢查點,避免發生服務不能響應的錯誤。

 

 

//控制處理程序函數

void WINAPI Service_Ctrl(DWORD dwCtrlCode)

{

     //處理控制請求碼

     switch(dwCtrlCode)

     {

         //先更新服務狀態為 SERVICDE_STOP_PENDING,再停止服務。

     case SERVICE_CONTROL_STOP:

         ReportStatusToSCMgr(SERVICE_STOP_PENDING,NO_ERROR,500);

         ServiceStop();     //由具體的服務程序實現

         return;

         //暫停服務

     case SERVICE_CONTROL_PAUSE:

         ReportStatusToSCMgr(SERVICE_STOP_PENDING,NO_ERROR,500);

         ServicePause();    //由具體的服務程序實現

         ssStatus.dwCurrentState=SERVICE_PAUSED;

         return;

         //繼續服務

     case SERVICE_CONTROL_CONTINUE:

         ReportStatusToSCMgr(SERVICE_STOP_PENDING,NO_ERROR,500);

         ServiceContinue(); //由具體的服務程序實現

         ssStatus.dwCurrentState=SERVICE_RUNNING;

         return;

         //更新服務狀態

     case SERVICE_CONTROL_INTERROGATE:

         break;

         //無效控制碼

     default:

         break;

     }

     ReportStatusToSCMgr(ssStatus.dwCurrentState,NO_ERROR,0);

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

 

除了系統定義的五種控制碼外(還有一種是:SERVICE_CONTROL_SHUTDOWN),用戶還可自定義控制碼,其取值范圍是128-255。用戶可以通過控制面板中的服務項向特定服務程序的控制處理函數發送控制碼,程序員可以調用系統函數 ControlService 直接向服務程序的控制處理函數發送控制碼。其函數原型如下:

 

BOOL ControlService(

  SC_HANDLE hService,

  DWORD dwControl,

  LPSERVICE_STATUS lpServiceStatus

);

hService :函數 OpenService or CreateService 返回的服務程序句柄。

dwControl :控制碼,不能是SERVICE_CONTROL_SHUTDOWN。

lpServiceStatus:返回最后收到的服務狀態信息。


posted on 2011-06-17 14:37 厚積薄發 閱讀(283) 評論(0)  編輯 收藏 引用 所屬分類: Windows編程

導航

<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

統計

常用鏈接

留言簿

隨筆分類

文章分類

文章檔案

搜索

最新評論

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美日韩一卡| 国产精品久久久久一区二区三区共| 国产精品一香蕉国产线看观看| 亚洲自拍偷拍福利| 亚洲一本视频| 国产日韩视频一区二区三区| 久久久久久亚洲精品杨幂换脸| 欧美一区二区视频在线观看2020| 国内精品久久久久久久影视麻豆| 老司机精品视频一区二区三区| 美国成人毛片| 亚洲调教视频在线观看| 亚洲一区在线播放| 一区二区三区在线观看国产| 亚洲激情一区二区| 欧美视频观看一区| 久久久精品国产99久久精品芒果| 久久野战av| 亚洲在线中文字幕| 久久人91精品久久久久久不卡| 99re在线精品| 亚洲欧美一区二区三区极速播放| 在线精品观看| 在线视频免费在线观看一区二区| 狠狠色丁香婷婷综合久久片| 欧美激情精品久久久六区热门| 欧美日韩在线观看视频| 久久综合精品一区| 欧美连裤袜在线视频| 欧美一区二区三区四区夜夜大片| 久久综合伊人77777| 午夜精品久久久久久久99樱桃 | 久久久久成人精品| 欧美成人综合| 久久久久久香蕉网| 欧美偷拍一区二区| 欧美黄网免费在线观看| 国产精品爽爽ⅴa在线观看| 欧美高清不卡在线| 国产一区二区精品| 一二三四社区欧美黄| 亚洲第一级黄色片| 欧美一二三视频| 亚洲一区二区黄色| 欧美精品七区| 亚洲第一级黄色片| 精品69视频一区二区三区| 在线综合亚洲欧美在线视频| 亚洲精品国产无天堂网2021| 欧美在线一级va免费观看| 午夜亚洲福利| 欧美日韩一级视频| 亚洲国产小视频在线观看| 一区二区三区无毛| 久久xxxx精品视频| 久久精品国产91精品亚洲| 欧美日韩一视频区二区| 亚洲激情不卡| 亚洲精品久久久久| 欧美国产国产综合| 欧美国产精品人人做人人爱| 黑丝一区二区| 久久精品国产亚洲aⅴ| 欧美一区二区视频97| 国产精品乱人伦一区二区| 9i看片成人免费高清| 亚洲美女在线国产| 欧美精品七区| 一本色道久久综合精品竹菊| 亚洲视频在线观看三级| 欧美亚男人的天堂| 亚洲视频免费在线观看| 校园春色国产精品| 国产精品影视天天线| 欧美一区1区三区3区公司| 久久精品人人| 玉米视频成人免费看| 另类春色校园亚洲| 亚洲区欧美区| 亚洲欧美日韩成人| 国产精品一级| 久久久久免费| 最新国产の精品合集bt伙计| 亚洲视频导航| 国产视频一区三区| 久久天天躁夜夜躁狠狠躁2022| 亚洲国产精品电影| 亚洲婷婷免费| 国产专区精品视频| 女女同性女同一区二区三区91| 亚洲三级免费| 性色av一区二区怡红| 激情五月***国产精品| 欧美成人小视频| 在线一区日本视频| 美日韩精品免费观看视频| 亚洲精品乱码久久久久久按摩观| 欧美日韩在线三级| 欧美综合激情网| 日韩香蕉视频| 久久中文精品| 亚洲性视频网站| 在线成人黄色| 国产精品高清网站| 久久综合狠狠| 亚洲天堂视频在线观看| 欧美风情在线| 欧美一区二区日韩一区二区| 亚洲人成高清| 国产亚洲一本大道中文在线| 欧美精品国产一区| 久久精品欧美| 亚洲一区制服诱惑| 一本大道av伊人久久综合| 欧美在线一二三四区| 欧美日韩精品一区二区天天拍小说| 99人久久精品视频最新地址| 亚洲人体1000| 国产精品一区免费视频| 久久精品亚洲一区二区| 久久久久久网站| 亚洲一区二区三区成人在线视频精品| 亚洲一区二区网站| 国产精品日韩欧美大师| 久久夜色精品| 亚洲精品一级| 美脚丝袜一区二区三区在线观看| 午夜精品久久99蜜桃的功能介绍| 亚洲精品久久久久久久久| 在线播放亚洲| 亚洲综合丁香| 在线视频日韩精品| 亚洲高清在线| 久久香蕉国产线看观看av| 欧美一区二区三区久久精品| 亚洲一区二区高清视频| 日韩视频在线观看| 亚洲精品一区二区三区不| 亚洲高清自拍| 亚洲国产精品一区二区尤物区| 国产亚洲欧美一区在线观看| 国产视频一区二区在线观看 | 欧美成人嫩草网站| 久久久欧美精品| 久久青草久久| 久久全球大尺度高清视频| 久久福利视频导航| 久久久.com| 久久婷婷色综合| 麻豆精品视频在线观看| 欧美v日韩v国产v| 亚洲电影观看| 亚洲精品国产精品久久清纯直播 | 亚洲性视频网站| 亚洲欧美精品在线| 亚欧美中日韩视频| 久久久国际精品| 欧美成人网在线| 欧美视频观看一区| 国产日韩欧美一区| 韩国成人理伦片免费播放| 在线精品国产成人综合| 亚洲人久久久| 亚洲视频久久| 久久久久久久久久久久久久一区| 另类天堂视频在线观看| 亚洲国产精品成人| 一区二区三区欧美视频| 亚洲欧洲99久久| 久久综合给合| 国产精品xxx在线观看www| 国内精品**久久毛片app| 最新成人av在线| 午夜精品一区二区三区电影天堂 | 欧美一区二区三区免费看| 久久精品久久综合| 欧美电影免费观看大全| 日韩亚洲不卡在线| 欧美一区二区三区电影在线观看| 免费91麻豆精品国产自产在线观看| 欧美精品在线一区| 国产亚洲一级| 一本到12不卡视频在线dvd| 久久成人精品视频| 亚洲国产婷婷综合在线精品| 亚洲欧美日韩一区二区在线| 免费中文日韩| 国产农村妇女精品一二区| 亚洲精品影视在线观看| 久久国产精品高清| 亚洲精选在线观看| 久久久久久久久蜜桃| 国产精品久久久久av| 亚洲国产精品va在线看黑人| 欧美一级成年大片在线观看| 亚洲精品国产精品国自产观看| 欧美专区在线观看| 国产精品理论片| 99综合精品| 欧美激情久久久久久|