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

兔子的技術(shù)博客

兔子

   :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
  202 Posts :: 0 Stories :: 43 Comments :: 0 Trackbacks

留言簿(10)

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

環(huán)境 VC6.0

#include "windows.h"

SERVICE_STATUS          gSvcStatus;  //服務(wù)狀態(tài)

SERVICE_STATUS_HANDLE   gSvcStatusHandle; //服務(wù)狀態(tài)句柄

HANDLE                  ghSvcStopEvent = NULL;//服務(wù)停止句柄

#define SERVER_NAME    TEXT("my_server") //服務(wù)名

VOID WINAPI Server_main( DWORD, LPTSTR *); //服務(wù)入口點(diǎn)

void ServerReportEvent(LPTSTR szName,LPTSTR szFunction); //寫(xiě)Windows日志

VOID ReportSvcStatus( DWORD, DWORD, DWORD ); //服務(wù)狀態(tài)和SCM交互

VOID WINAPI SvcCtrlHandler( DWORD );  //SCM回調(diào)函數(shù)

VOID ServerProgram(DWORD, LPTSTR *); //服務(wù)主程序

void main()



    SERVICE_TABLE_ENTRY DispatchTable[] =

    {

        { SERVER_NAME, (LPSERVICE_MAIN_FUNCTION)Server_main },

        { NULL, NULL }

    };

    

    if (!StartServiceCtrlDispatcher(DispatchTable))

    {

         ServerReportEvent(SERVER_NAME,TEXT("StartServiceCtrlDispatcher"));

    }

}

static VOID WINAPI Server_main(DWORD dwArgc, LPTSTR *lpszArgv )

{

    // Register the handler function for the service

    gSvcStatusHandle = RegisterServiceCtrlHandler( 

        SERVER_NAME, 

        SvcCtrlHandler);

    

    if( !gSvcStatusHandle )

    { 

       ServerReportEvent(SERVER_NAME,TEXT("RegisterServiceCtrlHandler")); 

        return

    } 

    

    // These SERVICE_STATUS members remain as set here

    gSvcStatus.dwServiceType = SERVICE_WIN32_OWN_PROCESS; //只有一個(gè)單獨(dú)的服務(wù)

    gSvcStatus.dwServiceSpecificExitCode = 0;    

    

    // Report initial status to the SCM

    ReportSvcStatus( SERVICE_START_PENDING, NO_ERROR, 3000 );

    

    // Perform service-specific initialization and work.

    ghSvcStopEvent = CreateEvent(

        NULL,    // default security attributes

        TRUE,    // manual reset event

        FALSE,   // not signaled

        NULL);   // no name

    

    if ( ghSvcStopEvent == NULL)

    {

        ReportSvcStatus( SERVICE_STOPPED, NO_ERROR, 0 );

        return;

    }

    

    // Report running status when initialization is complete.

    ReportSvcStatus( SERVICE_RUNNING, NO_ERROR, 0 );

    

    // TO_DO: Perform work until service stops. 

    ServerProgram(dwArgc, lpszArgv); //你需要的操作在此添加代碼

    

    while(1)

    {

          // Check whether to stop the service.

      WaitForSingleObject(ghSvcStopEvent, INFINITE);

      ReportSvcStatus( SERVICE_STOPPED, NO_ERROR, 0 );

      return;

    }  

}

void ServerReportEvent(LPTSTR szName,LPTSTR szFunction) 



    HANDLE hEventSource;

    LPCTSTR lpszStrings[2];

    unsigned int len = sizeof(szFunction);

    TCHAR *Buffer = new TCHAR[len];

    

    hEventSource = RegisterEventSource(NULL, szName);

    

    if( NULL != hEventSource )

    {

        //StringCchPrintf(Buffer, 80, TEXT("%s failed with %d"), szFunction, GetLastError());

        strcpy(Buffer,szFunction);

        lpszStrings[0] = szName;

        lpszStrings[1] = Buffer;

        

        ReportEvent(hEventSource,        // event log handle

            EVENTLOG_ERROR_TYPE, // event type

            0,                   // event category

            SVC_ERROR,           // event identifier

            NULL,                // no security identifier

            2,                   // size of lpszStrings array

            0,                   // no binary data

            lpszStrings,         // array of strings

            NULL);               // no binary data    

        DeregisterEventSource(hEventSource);

    }

}

VOID ReportSvcStatus( DWORD dwCurrentState,

                     DWORD dwWin32ExitCode,

                     DWORD dwWaitHint)

{

    static DWORD dwCheckPoint = 1;

    

    // Fill in the SERVICE_STATUS structure.

    

    gSvcStatus.dwCurrentState = dwCurrentState;

    gSvcStatus.dwWin32ExitCode = dwWin32ExitCode;

    gSvcStatus.dwWaitHint = dwWaitHint;

    

    if (dwCurrentState == SERVICE_START_PENDING)

        gSvcStatus.dwControlsAccepted = 0;

    else gSvcStatus.dwControlsAccepted = SERVICE_ACCEPT_STOP;

    

    if ( (dwCurrentState == SERVICE_RUNNING) ||

        (dwCurrentState == SERVICE_STOPPED) )

        gSvcStatus.dwCheckPoint = 0;

    else gSvcStatus.dwCheckPoint = dwCheckPoint++;

    

    // Report the status of the service to the SCM.

    SetServiceStatus( gSvcStatusHandle, &gSvcStatus );

}

VOID WINAPI SvcCtrlHandler( DWORD dwCtrl )

{

    // Handle the requested control code. 

  switch(dwCtrl) 

    {  

    case SERVICE_CONTROL_STOP: 

        ReportSvcStatus(SERVICE_STOP_PENDING, NO_ERROR, 0);

        

        // Signal the service to stop.

        

        SetEvent(ghSvcStopEvent);

        

        return;

        

    case SERVICE_CONTROL_INTERROGATE: 

        // Fall through to send current status.

        break

        

    default

        break;

    } 

    ReportSvcStatus(gSvcStatus.dwCurrentState, NO_ERROR, 0);

}
轉(zhuǎn)自:http://3140618.blog.163.com/blog/static/745179720109286165959/
posted on 2013-09-26 15:24 會(huì)飛的兔子 閱讀(2911) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): 系統(tǒng)API,底層技術(shù)
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲综合色自拍一区| 91久久精品视频| 亚洲欧美日韩国产中文| 亚洲伦伦在线| 欧美色精品天天在线观看视频| 亚洲狼人综合| 99精品99| 国产精品久久久免费| 午夜精品福利视频| 欧美一区二区私人影院日本| 国内精品久久久| 欧美电影美腿模特1979在线看| 免费不卡在线视频| 99精品国产高清一区二区| 一二美女精品欧洲| 国产乱码精品一区二区三区不卡| 久久精品国产亚洲5555| 狂野欧美激情性xxxx欧美| 亚洲精品综合| 亚洲一区精品在线| 亚洲电影在线观看| 亚洲最新视频在线播放| 国产三级欧美三级| 91久久久久久久久久久久久| 欧美精品videossex性护士| 亚洲欧美日韩精品久久亚洲区 | 99热免费精品在线观看| 国产精品一卡二卡| 欧美成人乱码一区二区三区| 欧美日韩一区二区在线| 久久亚洲精品一区| 欧美日韩视频在线一区二区| 久久成人精品无人区| 欧美激情国产日韩| 久久精品国产精品| 欧美日韩国产成人高清视频| 久久精品一区二区三区中文字幕| 欧美国产三区| 久久综合色播五月| 国产精品久久久久77777| 欧美成人中文字幕| 国产一区二区三区在线观看视频| 亚洲激情视频在线| 国产综合视频在线观看| 中国女人久久久| 日韩亚洲欧美成人一区| 欧美综合77777色婷婷| 亚洲自啪免费| 欧美日韩成人在线播放| 欧美国产乱视频| 国产一二精品视频| 亚洲在线一区二区| 中文精品一区二区三区| 欧美成人亚洲| 欧美a级理论片| 伊人久久婷婷| 久久精品网址| 久久久久久久波多野高潮日日| 国产精品毛片a∨一区二区三区| 亚洲福利视频网站| 亚洲国产精品久久久久久女王| 久久成人在线| 久久久久综合一区二区三区| 国产精品主播| 午夜在线视频一区二区区别| 欧美一级大片在线免费观看| 国产精品日韩精品| 亚洲一区二区三区精品视频| 亚洲欧美日本伦理| 国产精品入口麻豆原神| 亚洲欧美日韩精品在线| 欧美在线视频二区| 国产性天天综合网| 久久大综合网| 久久亚洲春色中文字幕| 在线精品国产成人综合| 久久综合色天天久久综合图片| 免费观看欧美在线视频的网站| 亚洲第一精品在线| 欧美~级网站不卡| 亚洲精品免费一二三区| 亚洲网在线观看| 国产精品乱码妇女bbbb| 亚洲资源在线观看| 久久婷婷av| 亚洲韩国精品一区| 欧美日韩免费一区| 亚洲欧美国产不卡| 免费一级欧美片在线播放| 亚洲欧洲精品一区二区三区| 欧美精品久久久久久久久久| a91a精品视频在线观看| 久久久久国产免费免费| 亚洲日本一区二区| 欧美视频在线一区| 久久精品国产免费| 亚洲日本在线观看| 欧美亚洲视频| 亚洲人成在线观看网站高清| 欧美日韩中文字幕在线视频| 午夜视黄欧洲亚洲| 亚洲高清在线| 久久不射电影网| 99天天综合性| 国产精品高潮呻吟| 久久综合电影| 亚洲欧美成人| 亚洲毛片在线| 嫩草影视亚洲| 午夜视黄欧洲亚洲| 亚洲精品社区| 影音先锋一区| 国产精品久久福利| 欧美成人精品h版在线观看| 亚洲午夜小视频| 亚洲黄色成人| 毛片一区二区三区| 亚洲欧美激情一区| 亚洲精品欧美日韩| 极品尤物av久久免费看| 国产精品国产三级国产专区53 | 亚洲日本视频| 欧美www在线| 久久久最新网址| 亚洲欧美综合v| aa成人免费视频| 91久久精品日日躁夜夜躁国产| 国产精品久久久久aaaa九色| 欧美黄色aaaa| 免费的成人av| 久久一本综合频道| 欧美中文字幕在线| 午夜精彩视频在线观看不卡 | 欧美激情一区| 久久久久国产一区二区| 午夜亚洲福利在线老司机| 在线视频欧美日韩| 一本大道av伊人久久综合| 亚洲激情婷婷| 91久久中文字幕| 亚洲国产三级在线| 亚洲国产欧美一区二区三区久久| 国内视频精品| 激情av一区二区| 激情一区二区三区| …久久精品99久久香蕉国产| 狠狠干狠狠久久| 韩国一区二区三区在线观看| 国产一区二区三区在线观看精品| 国产区亚洲区欧美区| 国产九色精品成人porny| 国产伦一区二区三区色一情| 国产欧美视频一区二区| 国产日韩亚洲欧美综合| 国产一区二区成人久久免费影院| 国产欧美日韩综合精品二区| 国产视频亚洲精品| 国内精品美女av在线播放| 悠悠资源网亚洲青| 亚洲人成网站精品片在线观看 | 国产欧美日韩另类一区| 国产伪娘ts一区| 狠狠色噜噜狠狠色综合久| 亚洲大片免费看| 亚洲精品午夜精品| 亚洲视频免费| 久久精品国产清高在天天线| 麻豆国产精品va在线观看不卡| 免费黄网站欧美| 最新国产の精品合集bt伙计| 一本色道久久综合| 欧美在线免费看| 欧美成人a视频| 国产精品日韩二区| 在线日韩一区二区| 亚洲视频网站在线观看| 久久精品国产亚洲aⅴ| 另类欧美日韩国产在线| 亚洲国产高清一区| 亚洲综合二区| 蜜臀久久久99精品久久久久久 | 欧美激情bt| 国产精品婷婷| 亚洲精品少妇| 久久久国产一区二区| 亚洲国产精品视频| 亚洲欧美日本伦理| 欧美精品在线免费播放| 国产一区二区高清| 一区二区三区四区五区视频| 久久久久久9999| 一区二区三区精品久久久| 久久久久网址| 国产精品天天看| 中文久久精品| 亚洲大片一区二区三区| 欧美一进一出视频| 国产精品成人观看视频国产奇米| 亚洲福利视频网| 久久精品99|