Simple Server Execution Example for C++
HRESULT SimpleServerExecution(void)
{
CComPtr<IltmsServer> server;
HRESULT hr;
ltmsState state;
// create an instance of the server object
hr = CoCreateInstance(__uuidof(ltmsServer), NULL, CLSCTX_ALL, __uuidof(IltmsServer), (void**) &server);
if(FAILED(hr))
goto error;
// load the configuration file located in the config subfolder under the executable folder
// or comment this section out to run with the server's default settings
hr = server->ImportConfigFile(CComBSTR(L"%ltmsConfigFolder%\\ltmsServer.xml"));
if(FAILED(hr))
goto error;
// edit network properties, application properties, MIME types, or IP filters here
// start the server
hr = server->Start();
if(FAILED(hr))
goto error;
// for demonstration purposes, confirm the running state
hr = server->get_State(&state);
if(FAILED(hr))
goto error;
if(state == ltmsState_Started)
{
// display a message that the server is running and wait for a key
_tprintf(_T("The server has started. Hit any key to stop.\n"));
_gettc(stdin);
}
// stop the server
hr = server->Stop();
if(FAILED(hr))
goto error;
// save any changes to the configuration file before exiting
hr = server->ExportConfigFile(CComBSTR(L"%ltmsConfigFolder%\\ltmsServer.xml"));
if(FAILED(hr))
goto error;
error:
return hr;
}