Q:

How to know the existing internal service name ( lpServiceName ) to stop it

The same problem but hasn't been solved yet
I need to stop the remote desktop services in C++, but when calling this 
SC_HANDLE WINAPI OpenService(
  _In_ SC_HANDLE hSCManager,
  _In_ LPCTSTR   lpServiceName, //"Remote Desktop Configuration" e.g.DisplayName 
  _In_ DWORD     dwDesiredAccess
);

About the lpServiceName  argument, When there is no space in this variable, it works fine,e.g. "WebClient".  How do I know the corresponding correct name of "Remote Desktop Configuration" to successfully call the OpenService function 

A:

About the second parameter of OpenService - lpServiceName :

This is the name specified by the lpServiceName parameter of the
  CreateService

But you are trying to use the lpDisplayName (3rd parameter of CreateService) as the lpServiceName parameter to OpenService - this is an error.  OpenService works only with the lpServiceName
name. 

When there is no space in this variable, it works fine

A space character is absolutely legal in lpServiceName - no problem here.  What you are really trying to say is it works fine
when lpServiceName is equal to lpDisplayName.