sc 创建svchost服务_xp 创建服务_svchost应用程序错误(11)

电脑杂谈  发布时间:2017-05-07 13:43:47  来源:网络整理

srvStatus.dwServiceType = SERVICE_WIN32_OWN_PROCESS;

srvStatus.dwCurrentState = dwCurrState = dwState;

srvStatus.dwControlsAccepted = SERVICE_ACCEPT_STOP | SERVICE_ACCEPT_PAUSE_CONTINUE | SERVICE_ACCEPT_SHUTDOWN;

srvStatus.dwWin32ExitCode = dwExitCode;

srvStatus.dwServiceSpecificExitCode = 0;

srvStatus.dwCheckPoint = dwProgress;

srvStatus.dwWaitHint = 3000;

return SetServiceStatus( hSrv, &srvStatus );

}void __stdcall ServiceHandler( DWORD dwCommand )

{

// not really necessary because the service stops quickly

switch( dwCommand )

{

case SERVICE_CONTROL_STOP:

TellSCM( SERVICE_STOP_PENDING, 0, 1 );

OutputString("SvcHostDLL: ServiceHandler called SERVICE_CONTROL_STOP");

Sleep(10);

TellSCM( SERVICE_STOPPED, 0, 0 );

break;

case SERVICE_CONTROL_PAUSE:

TellSCM( SERVICE_PAUSE_PENDING, 0, 1 );

OutputString("SvcHostDLL: ServiceHandler called SERVICE_CONTROL_PAUSE");

TellSCM( SERVICE_PAUSED, 0, 0 );

break;

case SERVICE_CONTROL_CONTINUE:

TellSCM( SERVICE_CONTINUE_PENDING, 0, 1 );

OutputString("SvcHostDLL: ServiceHandler called SERVICE_CONTROL_CONTINUE");

TellSCM( SERVICE_RUNNING, 0, 0 );

break;

case SERVICE_CONTROL_INTERROGATE:

OutputString("SvcHostDLL: ServiceHandler called SERVICE_CONTROL_INTERROGATE");

TellSCM( dwCurrState, 0, 0 );

break;

case SERVICE_CONTROL_SHUTDOWN:

OutputString("SvcHostDLL: ServiceHandler called SERVICE_CONTROL_SHUTDOWN");

TellSCM( SERVICE_STOPPED, 0, 0 );

break;

}

}

//RealService just create a process

int RealService(char *cmd, int bInteract)

sc 创建svchost服务_svchost应用程序错误_xp 创建服务

{

OutputString("SvcHostDLL: RealService called '%s' %s", cmd, bInteract ? "Interact" : "");


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-45730-11.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 韦丹
      韦丹

      我等着周一抢票呢哈哈~

    • 柳圣妹
      柳圣妹

      不是网络文学的兴盛

    热点图片
    拼命载入中...