From 95a5a8f9efef02ddcec5b3f69be99a00d71a802a Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Sun, 16 Dec 2018 21:19:24 -0600 Subject: Import implementation of IisCA from old repo's scasched/scaexec. --- src/ca/scawebappext7.cpp | 61 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 src/ca/scawebappext7.cpp (limited to 'src/ca/scawebappext7.cpp') diff --git a/src/ca/scawebappext7.cpp b/src/ca/scawebappext7.cpp new file mode 100644 index 00000000..50d3172f --- /dev/null +++ b/src/ca/scawebappext7.cpp @@ -0,0 +1,61 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + +#include "precomp.h" + +HRESULT ScaWebAppExtensionsWrite7( + __in_z LPCWSTR wzWebName, + __in_z LPCWSTR wzRootOfWeb, + __in SCA_WEB_APPLICATION_EXTENSION* pswappextList + ) +{ + HRESULT hr = S_OK; + SCA_WEB_APPLICATION_EXTENSION* pswappext = NULL; + + if (!pswappextList) + { + ExitFunction1(hr = S_OK); + } + + //create the Extension for this vdir application + //all go to same web/root location tag + hr = ScaWriteConfigID(IIS_APPEXT_BEGIN); + ExitOnFailure(hr, "Failed to write webappext begin id"); + hr = ScaWriteConfigString(wzWebName); //site name key + ExitOnFailure(hr, "Failed to write app web key"); + hr = ScaWriteConfigString(wzRootOfWeb); //app path key + ExitOnFailure(hr, "Failed to write app web key"); + + pswappext = pswappextList; + + while (pswappext) + { + //create the Extension for this vdir application + hr = ScaWriteConfigID(IIS_APPEXT); + ExitOnFailure(hr, "Failed to write webappext begin id"); + + if (*pswappext->wzExtension) + { + hr = ScaWriteConfigString(pswappext->wzExtension); + } + else // blank means "*" (all) + { + hr = ScaWriteConfigString(L"*"); + } + ExitOnFailure(hr, "Failed to write extension"); + + hr = ScaWriteConfigString(pswappext->wzExecutable); + ExitOnFailure(hr, "Failed to write extension executable"); + + hr = ScaWriteConfigString(pswappext->wzVerbs); + ExitOnFailure(hr, "Failed to write extension verbs"); + + pswappext = pswappext->pswappextNext; + } + + hr = ScaWriteConfigID(IIS_APPEXT_END); + ExitOnFailure(hr, "Failed to write webappext begin id"); + +LExit: + return hr; +} + -- cgit v1.2.3-55-g6feb