summaryrefslogtreecommitdiff
path: root/general/WinHEC 2017 Lab/Toaster Driver/Service/ServiceInstaller.h
diff options
context:
space:
mode:
Diffstat (limited to 'general/WinHEC 2017 Lab/Toaster Driver/Service/ServiceInstaller.h')
-rw-r--r--general/WinHEC 2017 Lab/Toaster Driver/Service/ServiceInstaller.h57
1 files changed, 57 insertions, 0 deletions
diff --git a/general/WinHEC 2017 Lab/Toaster Driver/Service/ServiceInstaller.h b/general/WinHEC 2017 Lab/Toaster Driver/Service/ServiceInstaller.h
new file mode 100644
index 00000000..af6507e6
--- /dev/null
+++ b/general/WinHEC 2017 Lab/Toaster Driver/Service/ServiceInstaller.h
@@ -0,0 +1,57 @@
+//*********************************************************
+//
+// Copyright (c) Microsoft. All rights reserved.
+// This code is licensed under the MIT License (MIT).
+// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
+// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
+// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
+// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
+//
+//*********************************************************
+
+// The file declares functions that install and uninstall the service.
+
+#pragma once
+
+//
+// FUNCTION: InstallService
+//
+// PURPOSE: Install the current application as a service to the local
+// service control manager database.
+//
+// PARAMETERS:
+// * pszServiceName - the name of the service to be installed
+// * pszDisplayName - the display name of the service
+// * dwStartType - the service start option. This parameter can be one of
+// the following values: SERVICE_AUTO_START, SERVICE_BOOT_START,
+// SERVICE_DEMAND_START, SERVICE_DISABLED, SERVICE_SYSTEM_START.
+// * pszDependencies - a pointer to a double null-terminated array of null-
+// separated names of services or load ordering groups that the system
+// must start before this service.
+// * pszAccount - the name of the account under which the service runs.
+// * pszPassword - the password to the account name.
+//
+// NOTE: If the function fails to install the service, it prints the error
+// in the standard output stream for users to diagnose the problem.
+//
+void InstallService(PWSTR pszServiceName,
+ PWSTR pszDisplayName,
+ DWORD dwStartType,
+ PWSTR pszDependencies,
+ PWSTR pszAccount,
+ PWSTR pszPassword);
+
+
+//
+// FUNCTION: UninstallService
+//
+// PURPOSE: Stop and remove the service from the local service control
+// manager database.
+//
+// PARAMETERS:
+// * pszServiceName - the name of the service to be removed.
+//
+// NOTE: If the function fails to uninstall the service, it prints the
+// error in the standard output stream for users to diagnose the problem.
+//
+void UninstallService(PWSTR pszServiceName);