[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [win-pv-devel] [PATCH 2/3] xenagent: get event logging working properly
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@xxxxxxxxxx> Cc: Owen Smith <owen.smith@xxxxxxxxxx> --- src/xenagent/messages.mc | 64 +++++++++-- src/xenagent/service.cpp | 11 +- src/xenagent/service.h | 5 +- src/xeniface.inf | 20 +++- vs2012/package/package.vcxproj | 7 +- vs2012/xenagent/xenagent.vcxproj | 225 ++++++++------------------------------ vs2012/xeniface.sln | 60 ++++------ vs2013/package/package.vcxproj | 3 + vs2013/xenagent/xenagent.vcxproj | 229 ++++++++------------------------------- vs2013/xeniface.sln | 76 ++++++------- 10 files changed, 239 insertions(+), 461 deletions(-) diff --git a/src/xenagent/messages.mc b/src/xenagent/messages.mc index 6b60c8d..a50021a 100644 --- a/src/xenagent/messages.mc +++ b/src/xenagent/messages.mc @@ -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 diff --git a/src/xenagent/service.cpp b/src/xenagent/service.cpp index 80aac11..6132fe0 100644 --- a/src/xenagent/service.cpp +++ b/src/xenagent/service.cpp @@ -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); diff --git a/src/xenagent/service.h b/src/xenagent/service.h index 978e51b..975662b 100644 --- a/src/xenagent/service.h +++ b/src/xenagent/service.h @@ -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" diff --git a/src/xeniface.inf b/src/xeniface.inf index b2e4e6e..23f44b5 100644 --- a/src/xeniface.inf +++ b/src/xeniface.inf @@ -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" diff --git a/vs2012/package/package.vcxproj b/vs2012/package/package.vcxproj index 4b59968..4115773 100644 --- a/vs2012/package/package.vcxproj +++ b/vs2012/package/package.vcxproj @@ -42,11 +42,14 @@ </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'" /> diff --git a/vs2012/xenagent/xenagent.vcxproj b/vs2012/xenagent/xenagent.vcxproj index 37db3fd..67df832 100644 --- a/vs2012/xenagent/xenagent.vcxproj +++ b/vs2012/xenagent/xenagent.vcxproj @@ -1,213 +1,80 @@ <?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" /> @@ -216,6 +83,4 @@ <Image Include="..\..\src\xenagent\xen.ico" /> </ItemGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - </ImportGroup> </Project> diff --git a/vs2012/xeniface.sln b/vs2012/xeniface.sln index 9700ce3..2e2ae87 100644 --- a/vs2012/xeniface.sln +++ b/vs2012/xeniface.sln @@ -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 diff --git a/vs2013/package/package.vcxproj b/vs2013/package/package.vcxproj index c83e31b..341122b 100644 --- a/vs2013/package/package.vcxproj +++ b/vs2013/package/package.vcxproj @@ -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'" /> diff --git a/vs2013/xenagent/xenagent.vcxproj b/vs2013/xenagent/xenagent.vcxproj index 4f5db55..fe5761e 100644 --- a/vs2013/xenagent/xenagent.vcxproj +++ b/vs2013/xenagent/xenagent.vcxproj @@ -1,217 +1,80 @@ <?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" /> @@ -220,6 +83,4 @@ <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> diff --git a/vs2013/xeniface.sln b/vs2013/xeniface.sln index 1068a3a..16216ad 100644 --- a/vs2013/xeniface.sln +++ b/vs2013/xeniface.sln @@ -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 -- 2.1.1 _______________________________________________ win-pv-devel mailing list win-pv-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |