IsServiceByHandle function
验证指定服务句柄是否有效
Function:
bool UAPI IsServiceByHandle(
int hService
);
Parameters:
- (int) hService:服务句柄
Return value:
- Type:BOOL
- Text:被验证的服务句柄有效则返回 TRUE,否则返回 FALSE
Remarks:
通常在进行异步操作时,应使用 IsServiceByHandle function 来验证将要使用的服务句柄是否有效和正确,以免导致用户扩展程序进程崩溃。
一个良好且符合开发标准的用户扩展程序应在使用其服务句柄前使用 IsServiceByHandle function 对其进行验证,以提高应用程序稳定性。
开发者无需担心 IsServiceByHandle function 所带来的性能影响,因为 IsServiceByHandle function 的执行性能足够快
C++ Code:
#include <h.studio>
#include <h.service>
int hello(){
int hService = CreateService("\\\test_service",SERVICE_OPENEXIST,NULL);
if(IsServiceByHandle(hService)){
int iExitcode = ControlService(hService,SERVICE_STATE_RUN);
CloseService(hService);
if(iExitcode!=INVALID){
output("operation successfully done");
}else{
output("operation failed");
}
}else{
output("Failed to open service \\test_service");
}
return 0;
}