]> xenbits.xensource.com Git - people/pauldu/xeniface.git/commitdiff
xenagent: get event logging working properly
authorPaul Durrant <paul.durrant@citrix.com>
Mon, 1 Aug 2016 08:29:59 +0000 (09:29 +0100)
committerPaul Durrant <paul.durrant@citrix.com>
Mon, 1 Aug 2016 08:52:13 +0000 (09:52 +0100)
The xenagent build does not create the necessary DLL for event logging. This
patch re-works the build vcxproj files to create the DLL and adds the
necessary code in package INF file to install it and configure it.

As part of the work the service display name has been changed to match the
module name.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
Cc: Owen Smith <owen.smith@citrix.com>
src/xenagent/messages.mc
src/xenagent/service.cpp
src/xenagent/service.h
src/xeniface.inf
vs2012/package/package.vcxproj
vs2012/xenagent/xenagent.vcxproj
vs2012/xeniface.sln
vs2013/package/package.vcxproj
vs2013/xenagent/xenagent.vcxproj
vs2013/xeniface.sln

index 6b60c8dcc9bdacf2829ce8d1d5ed55731abe32a8..a50021a2a3e58b7a3b0d60d6a3367bcfa0e1e49f 100644 (file)
@@ -1,8 +1,52 @@
-SeverityNames=(Informational=0x1)
-FacilityNames=(XenUser=0xd60)
+; // Copyright (c) Citrix Systems Inc.
+; // All rights reserved.
+; //
+; // Redistribution and use in source and binary forms,
+; // with or without modification, are permitted provided
+; // that the following conditions are met:
+; //
+; // *   Redistributions of source code must retain the above
+; //     copyright notice, this list of conditions and the
+; //     following disclaimer.
+; // *   Redistributions in binary form must reproduce the above
+; //     copyright notice, this list of conditions and the
+; //     following disclaimer in the documentation and/or other
+; //     materials provided with the distribution.
+; //
+; // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+; // CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+; // INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+; // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+; // DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+; // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+; // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+; // BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+; // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+; // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+; // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+; // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+; // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+; // SUCH DAMAGE.
+
+MessageIdTypedef=DWORD
+
+SeverityNames=(
+       Success=0x0:STATUS_SEVERITY_SUCCESS
+       Informational=0x1:STATUS_SEVERITY_INFORMATIONAL
+       Warning=0x2:STATUS_SEVERITY_WARNING
+       Error=0x3:STATUS_SEVERITY_ERROR
+       )
+
+
+FacilityNames=(
+       System=0x0:FACILITY_SYSTEM
+       Runtime=0x2:FACILITY_RUNTIME
+       Stubs=0x3:FACILITY_STUBS
+       Io=0x4:FACILITY_IO_ERROR_CODE
+       )
 
 MessageId=0x0001
-Facility=XenUser
+Facility=System
 Severity=Informational
 SymbolicName=EVENT_XENUSER_POWEROFF
 Language=English
@@ -10,7 +54,7 @@ The tools requested that the local VM shut itself down.
 .
 
 MessageId=0x0002
-Facility=XenUser
+Facility=System
 Severity=Informational
 SymbolicName=EVENT_XENUSER_REBOOT
 Language=English
@@ -18,7 +62,7 @@ The tools requested that the local VM reboot.
 .
 
 MessageId=0x0003
-Facility=XenUser
+Facility=System
 Severity=Informational
 SymbolicName=EVENT_XENUSER_S4
 Language=English
@@ -26,7 +70,7 @@ The tools requested that the local VM enter power state S4.
 .
 
 MessageId=0x0004
-Facility=XenUser
+Facility=System
 Severity=Informational
 SymbolicName=EVENT_XENUSER_S3
 Language=English
@@ -34,7 +78,7 @@ The tools requested that the local VM enter power state S3.
 .
 
 MessageId=0x0005
-Facility=XenUser
+Facility=System
 Severity=Informational
 SymbolicName=EVENT_XENUSER_WMI
 Language=English
@@ -42,7 +86,7 @@ The tools noticed that WMI became non-functional.
 .
 
 MessageId=0x0006
-Facility=XenUser
+Facility=System
 Severity=Informational
 SymbolicName=EVENT_XENUSER_STARTED
 Language=English
@@ -50,7 +94,7 @@ The tools initiated.
 .
 
 MessageId=0x0007
-Facility=XenUser
+Facility=System
 Severity=Informational
 SymbolicName=EVENT_XENUSER_UNSUSPENDED
 Language=English
@@ -58,7 +102,7 @@ The tools returned from suspend.
 .
 
 MessageId=0x0008
-Facility=XenUser
+Facility=System
 Severity=Informational
 SymbolicName=EVENT_XENUSER_UNEXPECTED
 Language=English
index 80aac1187d3b1dc74a7ca665fd7196bd747b7833..6132fe06d7321cdc3caf1fa27d29fa66fc0a986a 100644 (file)
@@ -58,7 +58,11 @@ CCritSec::~CCritSec()
     LeaveCriticalSection(m_crit);
 }
 
-int __stdcall WinMain(HINSTANCE hInstance, HINSTANCE ignore, LPSTR lpCmdLine, int nCmdShow)
+int CALLBACK WinMain(
+    _In_     HINSTANCE hInstance,
+    _In_opt_ HINSTANCE ignore,
+    _In_     LPSTR     lpCmdLine,
+    _In_     int       nCmdShow)
 {
     if (strlen(lpCmdLine) != 0) {
         if (!strcmp(lpCmdLine, "-i") || !strcmp(lpCmdLine, "\"-i\""))
@@ -446,6 +450,9 @@ void CXenAgent::SetXenTime()
         SetLocalTime(&sys);
 }
 
+#pragma warning(push)
+#pragma warning(disable:28159)
+
 void CXenAgent::OnShutdown()
 {
     CCritSec crit(&m_crit);
@@ -498,6 +505,8 @@ void CXenAgent::OnShutdown()
     }
 }
 
+#pragma warning(pop)
+
 void CXenAgent::OnSuspend()
 {
     CCritSec crit(&m_crit);
index 978e51b5c9a2a66a2aabba6f271516ec28604d3a..975662b703edd2537230f11e8b82ff89c1e7c849 100644 (file)
@@ -34,9 +34,8 @@
 
 #include <version.h>
 
-#define SVC_NAME "xensvc"
-#define SVC_DISPLAYNAME PRODUCT_NAME_STR ## "Interface Service"
-#define SVC_DESC "Monitors and provides various metrics to XenStore"
+#define SVC_NAME        __MODULE__
+#define SVC_DISPLAYNAME SVC_NAME
 
 #include "devicelist.h"
 #include "xenifacedevice.h"
index b2e4e6e349dc84677fbb04d08bd6870baa205328..23f44b51addcdd21806502271becf63dd7d903a5 100644 (file)
@@ -54,7 +54,8 @@ ServiceDestDir.NT.Copy = 11
 %XenIfaceDevice.DeviceDesc% =XenIface_Device, XENBUS\VEN_@VENDOR_PREFIX@0002&DEV_IFACE&REV_0800000B
 
 [XenIface_Device.NT$ARCH$]
-CopyFiles=XenIface_Device.NT.Copy, ServiceDestDir.NT.Copy
+CopyFiles=XenIface_Device.NT.Copy
+CopyFiles=ServiceDestDir.NT.Copy
 
 [XenIFace_Device.NT.Copy]
 xeniface.sys
@@ -63,11 +64,12 @@ xeniface.sys
 xeniface_coinst_@MAJOR_VERSION@_@MINOR_VERSION@_@MICRO_VERSION@_@BUILD_NUMBER@.dll,xeniface_coinst.dll
 
 [ServiceDestDir.NT.Copy]
-xenagent.exe
+xenagent_@MAJOR_VERSION@_@MINOR_VERSION@_@MICRO_VERSION@_@BUILD_NUMBER@.exe,xenagent.exe
+xenagent_@MAJOR_VERSION@_@MINOR_VERSION@_@MICRO_VERSION@_@BUILD_NUMBER@.dll,xenagent.dll
 
 [Xeniface_Device.NT$ARCH$.Services]
 AddService = xeniface, %SPSVCINST_ASSOCSERVICE%, xeniface_Service_Inst
-AddService = xenagent, %XENAGENT_FLAGS%, xenagent_Service_Inst
+AddService = xenagent, %XENAGENT_FLAGS%, xenagent_Service_Inst,xenagent_EventLog
 
 [xeniface_Service_Inst]
 DisplayName    = %XenIfaceDevice.DeviceDesc%
@@ -93,7 +95,14 @@ DisplayName    = %xenagent.SVCDESC%
 ServiceType    = 16              ; SERVICE_WIN32_OWN_PROCESS
 StartType      = 2               ; SERVICE_AUTO_START 
 ErrorControl   = 1               ; SERVICE_ERROR_NORMAL
-ServiceBinary  = %11%\xenagent.exe
+ServiceBinary  = %11%\xenagent_@MAJOR_VERSION@_@MINOR_VERSION@_@MICRO_VERSION@_@BUILD_NUMBER@.exe
+
+[xenagent_EventLog]
+AddReg=xenagent_EventLog_AddReg
+
+[xenagent_EventLog_AddReg]
+HKR,,EventMessageFile,0x00020000,"%%SystemRoot%%\System32\xenagent_@MAJOR_VERSION@_@MINOR_VERSION@_@MICRO_VERSION@_@BUILD_NUMBER@.dll"
+HKR,,TypesSupported,0x00010001,7
 
 [SourceDisksNames]
 1 = %DiskId1%,,,""
@@ -101,6 +110,7 @@ ServiceBinary  = %11%\xenagent.exe
 [SourceDisksFiles]
 xeniface.sys  = 1,,
 xenagent.exe = 1,,
+xenagent.dll = 1,,
 xeniface_coinst.dll=1,,
 
 [Strings]
@@ -109,5 +119,5 @@ Vendor= "@VENDOR_NAME@"
 DiskId1 = "@PRODUCT_NAME@ Interface Package"
 XenIfaceDevice.DeviceDesc = "@PRODUCT_NAME@ Interface"
 XENAGENT_FLAGS= 0x00000800
-xenagent.SVCDESC= "@PRODUCT_NAME@ Interface Service"
+xenagent.SVCDESC= "@PRODUCT_NAME@ Agent"
 
index 4b59968a18f2036f6e984941b7bc578293da6a1b..4115773eefa7fea61df738ec57e7447316758edd 100644 (file)
        </PropertyGroup>
         <ItemGroup>
                 <ProjectReference Include="..\xeniface\xeniface.vcxproj">
-                        <Project>{22166290-65D8-49D2-BB88-33201797C7D8}</Project>
+                 <Project>{22166290-65D8-49D2-BB88-33201797C7D8}</Project>
                 </ProjectReference>
                 <ProjectReference Include="..\xeniface_coinst\xeniface_coinst.vcxproj">
-                        <Project>{85c731ad-2ea2-4049-a542-d2d38ede938c}</Project>
+                 <Project>{85c731ad-2ea2-4049-a542-d2d38ede938c}</Project>
                 </ProjectReference>
+               <ProjectReference Include="..\xenagent\xenagent.vcxproj">
+                 <Project>{2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}</Project>
+               </ProjectReference>
         </ItemGroup>
        <ItemGroup>
                <FilesToPackage Include="$(KIT)\Redist\DIFx\dpinst\EngMui\x86\dpinst.exe" Condition="'$(Platform)'=='Win32'" />
index 37db3fd3e487a0a8e12304360718b6339d8b87b9..67df83236b55b2486b79e600c6a741d0e2b040b5 100644 (file)
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}</ProjectGuid>
-    <Keyword>Win32Proj</Keyword>
-    <RootNamespace>xenagent</RootNamespace>
-    <ProjectName>xenagent</ProjectName>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>true</UseDebugLibraries>
-    <PlatformToolset>v110</PlatformToolset>
+  <Import Project="..\configs.props" />
+  <PropertyGroup Label="PropertySheets">
     <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <PlatformToolset>WindowsApplicationForDrivers8.0</PlatformToolset>
     <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>true</UseDebugLibraries>
-    <PlatformToolset>v110</PlatformToolset>
-    <CharacterSet>MultiByte</CharacterSet>
   </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>false</UseDebugLibraries>
-    <PlatformToolset>v110</PlatformToolset>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <CharacterSet>MultiByte</CharacterSet>
+  <PropertyGroup Label="Globals">
+    <Configuration>Windows Vista Debug</Configuration>
+    <Platform Condition="'$(Platform)' == ''">Win32</Platform>
+    <DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
   </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>false</UseDebugLibraries>
-    <PlatformToolset>v110</PlatformToolset>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <CharacterSet>MultiByte</CharacterSet>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}</ProjectGuid>
   </PropertyGroup>
+  <Import Project="..\targets.props" />
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <LinkIncremental>false</LinkIncremental>
+  <PropertyGroup>
+    <IncludePath>$(IncludePath)</IncludePath>
+    <RunCodeAnalysis>true</RunCodeAnalysis>
+    <EnableInf2cat>false</EnableInf2cat>
   </PropertyGroup>
-
   <PropertyGroup>
-    <IncludePath>..\..\include;$(IncludePath)</IncludePath>
+    <CustomBuildAfterTargets>Link</CustomBuildAfterTargets>
   </PropertyGroup>
-
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <ClCompile>
-      <PrecompiledHeader>NotUsing</PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <SDLCheck>true</SDLCheck>
-      <AdditionalIncludeDirectories>..\..\include;$(SolutionDir)\xenagent;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-    </ClCompile>
-    <Link>
-      <SubSystem>Windows</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <AdditionalDependencies>Powrprof.lib;%(AdditionalDependencies)</AdditionalDependencies>
-    </Link>
-    <CustomBuildStep>
-        <Command>xcopy /y $(TargetPath) $(SolutionDir)\..\xeniface\$(PlatformTarget)\
-            xcopy /y $(TargetDir)xenagent.pdb $(SolutionDir)\..\xeniface\$(PlatformTarget)\</Command>
-    </CustomBuildStep>
-    <CustomBuildStep>
-      <Message>Copying output files</Message>
-      <Outputs>$(SolutionDir)\..\xeniface\$(PlatformTarget)$(TargetFileName);(SolutionDir)\..\xeniface\$(PlatformTarget)$(TargetName).pdb;%(Outputs)</Outputs>
-      <Inputs>$(TargetPath);$(TargetDir)$(TargetName).pdb</Inputs>
-    </CustomBuildStep>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+  <ItemDefinitionGroup>
     <ClCompile>
-      <PrecompiledHeader>NotUsing</PrecompiledHeader>
+      <AdditionalIncludeDirectories>$(SolutionDir)..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>WIN32;_WINDOWS;_CRT_SECURE_NO_WARNINGS;__MODULE__="XENAGENT";%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <WarningLevel>Level3</WarningLevel>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <SDLCheck>true</SDLCheck>
-      <AdditionalIncludeDirectories>..\..\include;$(SolutionDir)\xenagent;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <EnablePREfast>true</EnablePREfast>
+      <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
+      <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
     </ClCompile>
     <Link>
-      <SubSystem>Windows</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <AdditionalDependencies>Powrprof.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>powrprof.lib;%(AdditionalDependencies)</AdditionalDependencies>
     </Link>
-    <CustomBuildStep>
-        <Command>xcopy /y $(TargetPath) $(SolutionDir)\..\xeniface\$(PlatformTarget)\
-            xcopy /y $(TargetDir)xenagent.pdb $(SolutionDir)\..\xeniface\$(PlatformTarget)\</Command>
-    </CustomBuildStep>
-    <CustomBuildStep>
-      <Message>Copying output files</Message>
-      <Outputs>$(SolutionDir)\..\xeniface\$(PlatformTarget)$(TargetFileName);(SolutionDir)\..\xeniface\$(PlatformTarget)$(TargetName).pdb;%(Outputs)</Outputs>
-      <Inputs>$(TargetPath);$(TargetDir)$(TargetName).pdb</Inputs>
-    </CustomBuildStep>
+    <ResourceCompile>
+      <AdditionalIncludeDirectories>$(SolutionDir)..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ResourceCompile>
   </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+  <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
     <ClCompile>
-      <WarningLevel>Level3</WarningLevel>
-      <PrecompiledHeader>NotUsing</PrecompiledHeader>
-      <Optimization>MaxSpeed</Optimization>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_WARNINGS;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <SDLCheck>true</SDLCheck>
-      <AdditionalIncludeDirectories>..\..\include;$(SolutionDir)\xenagent;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <BrowseInformation>true</BrowseInformation>
-      <PreprocessToFile>false</PreprocessToFile>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <PreprocessorDefinitions>__i386__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     </ClCompile>
-    <Link>
-      <SubSystem>Windows</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <OptimizeReferences>true</OptimizeReferences>
-      <AdditionalDependencies>Powrprof.lib;%(AdditionalDependencies)</AdditionalDependencies>
-    </Link>
     <CustomBuildStep>
-      <Message>Copying output files</Message>
-      <Command>xcopy /y $(TargetPath) $(SolutionDir)\..\xeniface\$(PlatformTarget)\
-          xcopy /y $(TargetDir)xenagent.pdb $(SolutionDir)\..\xeniface\$(PlatformTarget)\</Command>
-      <Outputs>$(SolutionDir)\..\xeniface\$(PlatformTarget)$(TargetFileName);(SolutionDir)\..\xeniface\$(PlatformTarget)$(TargetName).pdb;%(Outputs)</Outputs>
-      <Inputs>$(TargetPath);$(TargetDir)$(TargetName).pdb</Inputs>
+      <Outputs>$(TargetDir)$(TargetName).dll</Outputs>
+      <Inputs>$(IntDir)$(TargetName).res</Inputs>
+      <Command>link -machine:x86 -dll -noentry -out:%(Outputs) %(Inputs)</Command>
     </CustomBuildStep>
   </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+  <ItemDefinitionGroup Condition="'$(Platform)'=='x64'">
     <ClCompile>
-      <WarningLevel>Level3</WarningLevel>
-      <PrecompiledHeader>NotUsing</PrecompiledHeader>
-      <Optimization>MaxSpeed</Optimization>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_WARNINGS;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <SDLCheck>true</SDLCheck>
-      <AdditionalIncludeDirectories>..\..\include;$(SolutionDir)\xenagent;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <BrowseInformation>true</BrowseInformation>
-      <PreprocessToFile>false</PreprocessToFile>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <PreprocessorDefinitions>__x86_64__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     </ClCompile>
-    <Link>
-      <SubSystem>Windows</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <OptimizeReferences>true</OptimizeReferences>
-      <AdditionalDependencies>Powrprof.lib;%(AdditionalDependencies)</AdditionalDependencies>
-    </Link>
     <CustomBuildStep>
-      <Message>Copying output files</Message>
-      <Command>xcopy /y $(TargetPath) $(SolutionDir)\..\xeniface\$(PlatformTarget)\
-          xcopy /y $(TargetDir)xenagent.pdb $(SolutionDir)\..\xeniface\$(PlatformTarget)\</Command>
-      <Outputs>$(SolutionDir)\..\xeniface\$(PlatformTarget)$(TargetFileName);(SolutionDir)\..\xeniface\$(PlatformTarget)$(TargetName).pdb;%(Outputs)</Outputs>
-      <Inputs>$(TargetPath);$(TargetDir)$(TargetName).pdb</Inputs>
+      <Outputs>$(TargetDir)$(TargetName).dll</Outputs>
+      <Inputs>$(IntDir)$(TargetName).res</Inputs>
+      <Command>link -machine:x64 -dll -noentry -out:%(Outputs) %(Inputs)</Command>
     </CustomBuildStep>
   </ItemDefinitionGroup>
   <ItemGroup>
-    <ClCompile Include="..\..\src\xenagent\service.cpp"/>
-    <ClCompile Include="..\..\src\xenagent\devicelist.cpp"/>
-    <ClCompile Include="..\..\src\xenagent\xenifacedevice.cpp"/>
+    <FilesToPackage Include="$(TargetPath)" />
+    <FilesToPackage Include="$(OutDir)$(TargetName).pdb" />
+    <FilesToPackage Include="$(OutDir)$(TargetName).dll" />
+    <FilesToPackage Include="@(Inf->'%(CopyOutput)')" Condition="'@(Inf)'!=''" />
   </ItemGroup>
   <ItemGroup>
-    <ClInclude Include="..\..\src\xenagent\service.h" />
-    <ClInclude Include="..\..\src\xenagent\devicelist.h" />
-    <ClInclude Include="..\..\src\xenagent\xenifacedevice.h" />
+    <MessageCompile Include="..\..\src\xenagent\messages.mc" />
   </ItemGroup>
   <ItemGroup>
-    <CustomBuild Include="..\..\src\xenagent\messages.mc">
-      <FileType>Document</FileType>
-      <Command>mc %(FullPath)</Command>
-      <Outputs>%(Filename).rc;%(Filename).h</Outputs>
-       </CustomBuild>
+    <ClCompile Include="..\..\src\xenagent\service.cpp"/>
+    <ClCompile Include="..\..\src\xenagent\devicelist.cpp"/>
+    <ClCompile Include="..\..\src\xenagent\xenifacedevice.cpp"/>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\..\src\xenagent\xenagent.rc" />
     <Image Include="..\..\src\xenagent\xen.ico" />
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
 </Project>
index 9700ce35186643777cc233977d92ff286a703d64..2e2ae87b0a1f636fe85260cae8aff954b006f2f3 100644 (file)
@@ -127,42 +127,30 @@ Global
                {22166290-65D8-49D2-BB88-33201797C7D8}.Windows Vista Release|x64.ActiveCfg = Windows Vista Release|x64
                {22166290-65D8-49D2-BB88-33201797C7D8}.Windows Vista Release|x64.Build.0 = Windows Vista Release|x64
                {22166290-65D8-49D2-BB88-33201797C7D8}.Windows Vista Release|x64.Deploy.0 = Windows Vista Release|x64
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Debug|Win32.ActiveCfg = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Debug|Win32.Build.0 = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Debug|Win32.Deploy.0 = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Debug|x64.ActiveCfg = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Release|Win32.ActiveCfg = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Release|Win32.Build.0 = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Release|Win32.Deploy.0 = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Release|x64.ActiveCfg = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 Debug|Win32.ActiveCfg = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 Debug|Win32.Build.0 = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 Debug|Win32.Deploy.0 = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 Debug|x64.ActiveCfg = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 Release|Win32.ActiveCfg = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 Release|Win32.Build.0 = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 Release|Win32.Deploy.0 = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 Release|x64.ActiveCfg = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Developer Preview Debug|Win32.ActiveCfg = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Developer Preview Debug|Win32.Build.0 = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Developer Preview Debug|Win32.Deploy.0 = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Developer Preview Debug|x64.ActiveCfg = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Developer Preview Release|Win32.ActiveCfg = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Developer Preview Release|Win32.Build.0 = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Developer Preview Release|Win32.Deploy.0 = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Developer Preview Release|x64.ActiveCfg = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Debug|Win32.ActiveCfg = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Debug|Win32.Build.0 = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Debug|Win32.Deploy.0 = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Debug|x64.ActiveCfg = Debug|x64
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Debug|x64.Build.0 = Debug|x64
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Debug|x64.Deploy.0 = Debug|x64
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Release|Win32.ActiveCfg = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Release|Win32.Build.0 = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Release|Win32.Deploy.0 = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Release|x64.ActiveCfg = Release|x64
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Release|x64.Build.0 = Release|x64
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Release|x64.Deploy.0 = Release|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 Debug|Win32.ActiveCfg = Windows 7 Debug|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 Debug|Win32.Build.0 = Windows 7 Debug|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 Debug|x64.ActiveCfg = Windows 7 Debug|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 Debug|x64.Build.0 = Windows 7 Debug|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 Release|Win32.ActiveCfg = Windows 7 Release|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 Release|Win32.Build.0 = Windows 7 Release|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 Release|x64.ActiveCfg = Windows 7 Release|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 Release|x64.Build.0 = Windows 7 Release|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 Debug|Win32.Build.0 = Windows 8 Debug|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 Debug|x64.ActiveCfg = Windows 8 Debug|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 Debug|x64.Build.0 = Windows 8 Debug|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 Release|Win32.ActiveCfg = Windows 8 Release|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 Release|Win32.Build.0 = Windows 8 Release|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 Release|x64.ActiveCfg = Windows 8 Release|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 Release|x64.Build.0 = Windows 8 Release|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Debug|Win32.ActiveCfg = Windows Vista Debug|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Debug|Win32.Build.0 = Windows Vista Debug|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Debug|x64.ActiveCfg = Windows Vista Debug|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Debug|x64.Build.0 = Windows Vista Debug|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Release|Win32.ActiveCfg = Windows Vista Release|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Release|Win32.Build.0 = Windows Vista Release|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Release|x64.ActiveCfg = Windows Vista Release|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Release|x64.Build.0 = Windows Vista Release|x64
                {9B071A35-897C-477A-AEB7-95F77618A21D}.Debug|Win32.ActiveCfg = Windows Vista Debug|Win32
                {9B071A35-897C-477A-AEB7-95F77618A21D}.Debug|Win32.Build.0 = Windows Vista Debug|Win32
                {9B071A35-897C-477A-AEB7-95F77618A21D}.Debug|Win32.Deploy.0 = Windows Vista Debug|Win32
index c83e31b0d7bdd3f20b449b6aead4478faa59acb4..341122b85b87fa78a9ee66ad2c944f3487ae2900 100644 (file)
@@ -77,6 +77,9 @@
     <ProjectReference Include="..\xeniface_coinst\xeniface_coinst.vcxproj">
       <Project>{85c731ad-2ea2-4049-a542-d2d38ede938c}</Project>
     </ProjectReference>
+    <ProjectReference Include="..\xenagent\xenagent.vcxproj">
+      <Project>{2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}</Project>
+    </ProjectReference>
   </ItemGroup>
   <ItemGroup>
     <FilesToPackage Include="$(KIT)\Redist\DIFx\dpinst\EngMui\x86\dpinst.exe" Condition="'$(Platform)'=='Win32'" />
index 4f5db5572e6d0b16c413cc175d009d6fe2cd41fb..fe5761e70cf546a0fb37be505d3df69e60060627 100644 (file)
 <?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="..\configs.props" />
   <PropertyGroup Label="Globals">
-    <ProjectGuid>{2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}</ProjectGuid>
-    <Keyword>Win32Proj</Keyword>
-    <RootNamespace>xenagent</RootNamespace>
-    <ProjectName>xenagent</ProjectName>
+    <Configuration>Windows Vista Debug</Configuration>
+    <Platform Condition="'$(Platform)' == ''">Win32</Platform>
+    <DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
   </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>true</UseDebugLibraries>
-    <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
+  <PropertyGroup Label="PropertySheets">
     <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>true</UseDebugLibraries>
     <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>false</UseDebugLibraries>
-    <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <CharacterSet>MultiByte</CharacterSet>
   </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>false</UseDebugLibraries>
-    <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <CharacterSet>MultiByte</CharacterSet>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}</ProjectGuid>
   </PropertyGroup>
+  <Import Project="..\targets.props" />
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <LinkIncremental>true</LinkIncremental>
-    <OutDir>$(SolutionDir)$(Platform)\$(ConfigurationName)\</OutDir>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <LinkIncremental>false</LinkIncremental>
-    <OutDir>$(SolutionDir)$(Platform)\$(ConfigurationName)\</OutDir>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <LinkIncremental>false</LinkIncremental>
+  <PropertyGroup>
+    <IncludePath>$(IncludePath)</IncludePath>
+    <RunCodeAnalysis>true</RunCodeAnalysis>
+    <EnableInf2cat>false</EnableInf2cat>
   </PropertyGroup>
   <PropertyGroup>
-    <IncludePath>..\..\include;$(IncludePath)</IncludePath>
+    <CustomBuildAfterTargets>Link</CustomBuildAfterTargets>
   </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+  <ItemDefinitionGroup>
     <ClCompile>
-      <PrecompiledHeader>NotUsing</PrecompiledHeader>
+      <AdditionalIncludeDirectories>$(SolutionDir)..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>WIN32;_WINDOWS;_CRT_SECURE_NO_WARNINGS;__MODULE__="XENAGENT";%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <WarningLevel>Level3</WarningLevel>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <SDLCheck>true</SDLCheck>
-      <AdditionalIncludeDirectories>..\..\include;$(SolutionDir)\xenagent;$(SDK_INC_PATH);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderFile />
-      <PrecompiledHeaderOutputFile />
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <EnablePREfast>true</EnablePREfast>
+      <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
+      <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
     </ClCompile>
     <Link>
-      <SubSystem>Windows</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <AdditionalDependencies>Powrprof.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>powrprof.lib;%(AdditionalDependencies)</AdditionalDependencies>
     </Link>
-    <CustomBuildStep>
-      <Command>xcopy /y $(TargetPath) $(SolutionDir)\..\xeniface\$(PlatformTarget)\
-            xcopy /y $(TargetDir)xenagent.pdb $(SolutionDir)\..\xeniface\$(PlatformTarget)\</Command>
-    </CustomBuildStep>
-    <CustomBuildStep>
-      <Message>Copying output files</Message>
-      <Outputs>$(SolutionDir)\..\xeniface\$(PlatformTarget)$(TargetFileName);(SolutionDir)\..\xeniface\$(PlatformTarget)$(TargetName).pdb;%(Outputs)</Outputs>
-      <Inputs>$(TargetPath);$(TargetDir)$(TargetName).pdb</Inputs>
-    </CustomBuildStep>
+    <ResourceCompile>
+      <AdditionalIncludeDirectories>$(SolutionDir)..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ResourceCompile>
   </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+  <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
     <ClCompile>
-      <PrecompiledHeader>NotUsing</PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <SDLCheck>true</SDLCheck>
-      <AdditionalIncludeDirectories>..\..\include;$(SolutionDir)\xenagent;$(SDK_INC_PATH);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderFile />
-      <PrecompiledHeaderOutputFile />
+      <PreprocessorDefinitions>__i386__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     </ClCompile>
-    <Link>
-      <SubSystem>Windows</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <AdditionalDependencies>Powrprof.lib;%(AdditionalDependencies)</AdditionalDependencies>
-    </Link>
-    <CustomBuildStep>
-      <Command>xcopy /y $(TargetPath) $(SolutionDir)\..\xeniface\$(PlatformTarget)\
-            xcopy /y $(TargetDir)xenagent.pdb $(SolutionDir)\..\xeniface\$(PlatformTarget)\</Command>
-    </CustomBuildStep>
     <CustomBuildStep>
-      <Message>Copying output files</Message>
-      <Outputs>$(SolutionDir)\..\xeniface\$(PlatformTarget)$(TargetFileName);(SolutionDir)\..\xeniface\$(PlatformTarget)$(TargetName).pdb;%(Outputs)</Outputs>
-      <Inputs>$(TargetPath);$(TargetDir)$(TargetName).pdb</Inputs>
+      <Outputs>$(TargetDir)$(TargetName).dll</Outputs>
+      <Inputs>$(IntDir)$(TargetName).res</Inputs>
+      <Command>link -machine:x86 -dll -noentry -out:%(Outputs) %(Inputs)</Command>
     </CustomBuildStep>
   </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+  <ItemDefinitionGroup Condition="'$(Platform)'=='x64'">
     <ClCompile>
-      <WarningLevel>Level3</WarningLevel>
-      <PrecompiledHeader>NotUsing</PrecompiledHeader>
-      <Optimization>MaxSpeed</Optimization>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_WARNINGS;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <SDLCheck>true</SDLCheck>
-      <AdditionalIncludeDirectories>..\..\include;$(SolutionDir)\xenagent;$(SDK_INC_PATH);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <BrowseInformation>true</BrowseInformation>
-      <PreprocessToFile>false</PreprocessToFile>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <PreprocessorDefinitions>__x86_64__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     </ClCompile>
-    <Link>
-      <SubSystem>Windows</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <OptimizeReferences>true</OptimizeReferences>
-      <AdditionalDependencies>Powrprof.lib;%(AdditionalDependencies)</AdditionalDependencies>
-    </Link>
     <CustomBuildStep>
-      <Message>Copying output files</Message>
-      <Command>xcopy /y $(TargetPath) $(SolutionDir)\..\xeniface\$(PlatformTarget)\
-          xcopy /y $(TargetDir)xenagent.pdb $(SolutionDir)\..\xeniface\$(PlatformTarget)\</Command>
-      <Outputs>$(SolutionDir)\..\xeniface\$(PlatformTarget)$(TargetFileName);(SolutionDir)\..\xeniface\$(PlatformTarget)$(TargetName).pdb;%(Outputs)</Outputs>
-      <Inputs>$(TargetPath);$(TargetDir)$(TargetName).pdb</Inputs>
-    </CustomBuildStep>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <ClCompile>
-      <WarningLevel>Level3</WarningLevel>
-      <PrecompiledHeader>NotUsing</PrecompiledHeader>
-      <Optimization>MaxSpeed</Optimization>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_WARNINGS;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <SDLCheck>true</SDLCheck>
-      <AdditionalIncludeDirectories>..\..\include;$(SolutionDir)\xenagent;$(SDK_INC_PATH);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <BrowseInformation>true</BrowseInformation>
-      <PreprocessToFile>false</PreprocessToFile>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-    </ClCompile>
-    <Link>
-      <SubSystem>Windows</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <OptimizeReferences>true</OptimizeReferences>
-      <AdditionalDependencies>Powrprof.lib;%(AdditionalDependencies)</AdditionalDependencies>
-    </Link>
-    <CustomBuildStep>
-      <Message>Copying output files</Message>
-      <Command>xcopy /y $(TargetPath) $(SolutionDir)\..\xeniface\$(PlatformTarget)\
-          xcopy /y $(TargetDir)xenagent.pdb $(SolutionDir)\..\xeniface\$(PlatformTarget)\</Command>
-      <Outputs>$(SolutionDir)\..\xeniface\$(PlatformTarget)$(TargetFileName);(SolutionDir)\..\xeniface\$(PlatformTarget)$(TargetName).pdb;%(Outputs)</Outputs>
-      <Inputs>$(TargetPath);$(TargetDir)$(TargetName).pdb</Inputs>
+      <Outputs>$(TargetDir)$(TargetName).dll</Outputs>
+      <Inputs>$(IntDir)$(TargetName).res</Inputs>
+      <Command>link -machine:x64 -dll -noentry -out:%(Outputs) %(Inputs)</Command>
     </CustomBuildStep>
   </ItemDefinitionGroup>
   <ItemGroup>
-    <ClCompile Include="..\..\src\xenagent\service.cpp"/>
-    <ClCompile Include="..\..\src\xenagent\devicelist.cpp"/>
-    <ClCompile Include="..\..\src\xenagent\xenifacedevice.cpp"/>
+    <FilesToPackage Include="$(TargetPath)" />
+    <FilesToPackage Include="$(OutDir)$(TargetName).pdb" />
+    <FilesToPackage Include="$(OutDir)$(TargetName).dll" />
+    <FilesToPackage Include="@(Inf->'%(CopyOutput)')" Condition="'@(Inf)'!=''" />
   </ItemGroup>
   <ItemGroup>
-    <ClInclude Include="..\..\src\xenagent\service.h" />
-    <ClInclude Include="..\..\src\xenagent\devicelist.h" />
-    <ClInclude Include="..\..\src\xenagent\xenifacedevice.h" />
+    <MessageCompile Include="..\..\src\xenagent\messages.mc" />
   </ItemGroup>
   <ItemGroup>
-    <CustomBuild Include="..\..\src\xenagent\messages.mc">
-      <FileType>Document</FileType>
-      <Command>mc %(FullPath)</Command>
-      <Outputs>%(Filename).rc;%(Filename).h</Outputs>
-    </CustomBuild>
+    <ClCompile Include="..\..\src\xenagent\service.cpp"/>
+    <ClCompile Include="..\..\src\xenagent\devicelist.cpp"/>
+    <ClCompile Include="..\..\src\xenagent\xenifacedevice.cpp"/>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\..\src\xenagent\xenagent.rc" />
     <Image Include="..\..\src\xenagent\xen.ico" />
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
+</Project>
index 1068a3aaa870d0d85d651c6b2f4ec41c4affe388..16216ad58eaa245c6d91dc0503a1586b1a2ac2fb 100644 (file)
@@ -127,46 +127,42 @@ Global
                {22166290-65D8-49D2-BB88-33201797C7D8}.Windows Vista Release|x64.ActiveCfg = Windows Vista Release|x64
                {22166290-65D8-49D2-BB88-33201797C7D8}.Windows Vista Release|x64.Build.0 = Windows Vista Release|x64
                {22166290-65D8-49D2-BB88-33201797C7D8}.Windows Vista Release|x64.Deploy.0 = Windows Vista Release|x64
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Debug|Win32.ActiveCfg = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Debug|Win32.Build.0 = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Debug|Win32.Deploy.0 = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Debug|x64.ActiveCfg = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Release|Win32.ActiveCfg = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Release|Win32.Build.0 = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Release|Win32.Deploy.0 = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Release|x64.ActiveCfg = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 Debug|Win32.ActiveCfg = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 Debug|Win32.Build.0 = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 Debug|Win32.Deploy.0 = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 Debug|x64.ActiveCfg = Debug|x64
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 Debug|x64.Build.0 = Debug|x64
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 Debug|x64.Deploy.0 = Debug|x64
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 Release|Win32.ActiveCfg = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 Release|Win32.Build.0 = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 Release|Win32.Deploy.0 = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 Release|x64.ActiveCfg = Release|x64
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 Release|x64.Build.0 = Release|x64
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 Release|x64.Deploy.0 = Release|x64
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Developer Preview Debug|Win32.ActiveCfg = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Developer Preview Debug|Win32.Build.0 = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Developer Preview Debug|Win32.Deploy.0 = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Developer Preview Debug|x64.ActiveCfg = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Developer Preview Release|Win32.ActiveCfg = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Developer Preview Release|Win32.Build.0 = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Developer Preview Release|Win32.Deploy.0 = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Developer Preview Release|x64.ActiveCfg = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Debug|Win32.ActiveCfg = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Debug|Win32.Build.0 = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Debug|Win32.Deploy.0 = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Debug|x64.ActiveCfg = Debug|x64
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Debug|x64.Build.0 = Debug|x64
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Debug|x64.Deploy.0 = Debug|x64
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Release|Win32.ActiveCfg = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Release|Win32.Build.0 = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Release|Win32.Deploy.0 = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Release|x64.ActiveCfg = Release|x64
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Release|x64.Build.0 = Release|x64
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Release|x64.Deploy.0 = Release|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 Debug|Win32.ActiveCfg = Windows 7 Debug|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 Debug|Win32.Build.0 = Windows 7 Debug|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 Debug|Win32.Deploy.0 = Windows 7 Debug|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 Debug|x64.ActiveCfg = Windows 7 Debug|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 Debug|x64.Build.0 = Windows 7 Debug|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 Debug|x64.Deploy.0 = Windows 7 Debug|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 Release|Win32.ActiveCfg = Windows 7 Release|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 Release|Win32.Build.0 = Windows 7 Release|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 Release|Win32.Deploy.0 = Windows 7 Release|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 Release|x64.ActiveCfg = Windows 7 Release|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 Release|x64.Build.0 = Windows 7 Release|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 Release|x64.Deploy.0 = Windows 7 Release|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 Debug|Win32.Build.0 = Windows 8 Debug|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 Debug|Win32.Deploy.0 = Windows 8 Debug|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 Debug|x64.ActiveCfg = Windows 8 Debug|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 Debug|x64.Build.0 = Windows 8 Debug|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 Debug|x64.Deploy.0 = Windows 8 Debug|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 Release|Win32.ActiveCfg = Windows 8 Release|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 Release|Win32.Build.0 = Windows 8 Release|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 Release|Win32.Deploy.0 = Windows 8 Release|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 Release|x64.ActiveCfg = Windows 8 Release|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 Release|x64.Build.0 = Windows 8 Release|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 Release|x64.Deploy.0 = Windows 8 Release|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Debug|Win32.ActiveCfg = Windows Vista Debug|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Debug|Win32.Build.0 = Windows Vista Debug|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Debug|Win32.Deploy.0 = Windows Vista Debug|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Debug|x64.ActiveCfg = Windows Vista Debug|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Debug|x64.Build.0 = Windows Vista Debug|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Debug|x64.Deploy.0 = Windows Vista Debug|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Release|Win32.ActiveCfg = Windows Vista Release|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Release|Win32.Build.0 = Windows Vista Release|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Release|Win32.Deploy.0 = Windows Vista Release|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Release|x64.ActiveCfg = Windows Vista Release|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Release|x64.Build.0 = Windows Vista Release|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Release|x64.Deploy.0 = Windows Vista Release|x64
                {9B071A35-897C-477A-AEB7-95F77618A21D}.Debug|Win32.ActiveCfg = Windows Vista Debug|Win32
                {9B071A35-897C-477A-AEB7-95F77618A21D}.Debug|Win32.Build.0 = Windows Vista Debug|Win32
                {9B071A35-897C-477A-AEB7-95F77618A21D}.Debug|Win32.Deploy.0 = Windows Vista Debug|Win32