|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [win-pv-devel] [PATCH] Add support for building under VS2015/WDK10
Moving to the new toolchain also threw up a few new warnings, which this
patch either fixes or squashes. Also, SDV appears to be fragile in new
ways (and whinge about some new things) so there are fixes for that too.
Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx>
---
build.py | 78 +++----------
src/xeniface/fdo.c | 4 +
src/xeniface/ioctl_store.c | 17 ++-
src/xeniface/thread.c | 1 +
src/xeniface/thread.h | 1 +
src/xeniface/util.h | 54 ++++++++-
src/xeniface/wmi.c | 2 +
vs2015/configs.props | 45 +++++++
vs2015/package/package.vcxproj | 53 +++++++++
vs2015/package/package.vcxproj.user | 8 ++
vs2015/targets.props | 35 ++++++
vs2015/xenagent/xenagent.vcxproj | 82 +++++++++++++
vs2015/xenagent/xenagent.vcxproj.user | 4 +
vs2015/xeniface.sln | 130 +++++++++++++++++++++
vs2015/xeniface/xeniface.vcxproj | 97 +++++++++++++++
vs2015/xeniface/xeniface.vcxproj.user | 8 ++
vs2015/xeniface_coinst/xeniface_coinst.vcxproj | 72 ++++++++++++
.../xeniface_coinst/xeniface_coinst.vcxproj.user | 8 ++
18 files changed, 633 insertions(+), 66 deletions(-)
create mode 100644 vs2015/configs.props
create mode 100644 vs2015/package/package.vcxproj
create mode 100644 vs2015/package/package.vcxproj.user
create mode 100644 vs2015/targets.props
create mode 100644 vs2015/xenagent/xenagent.vcxproj
create mode 100644 vs2015/xenagent/xenagent.vcxproj.user
create mode 100644 vs2015/xeniface.sln
create mode 100644 vs2015/xeniface/xeniface.vcxproj
create mode 100644 vs2015/xeniface/xeniface.vcxproj.user
create mode 100644 vs2015/xeniface_coinst/xeniface_coinst.vcxproj
create mode 100644 vs2015/xeniface_coinst/xeniface_coinst.vcxproj.user
diff --git a/build.py b/build.py
index ac701e0..725972a 100755
--- a/build.py
+++ b/build.py
@@ -243,61 +243,19 @@ def remove_timestamps(path):
dst.close()
src.close()
-def sdv_clean(name, vs):
- path = [vs, name, 'sdv']
- print(path)
-
- shutil.rmtree(os.path.join(*path), True)
-
- path = [vs, name, 'sdv.temp']
- print(path)
-
- shutil.rmtree(os.path.join(*path), True)
-
- path = [vs, name, 'staticdv.job']
- print(path)
-
- try:
- os.unlink(os.path.join(*path))
- except OSError:
- pass
-
- path = [vs, name, 'refine.sdv']
- print(path)
-
- try:
- os.unlink(os.path.join(*path))
- except OSError:
- pass
-
- path = [vs, name, 'sdv-map.h']
- print(path)
-
- try:
- os.unlink(os.path.join(*path))
- except OSError:
- pass
-
-
def run_sdv(name, dir, vs):
- configuration = get_configuration('Windows 8', False)
+ release = { 'vs2012':'Windows 8',
+ 'vs2013':'Windows 8',
+ 'vs2015':'Windows 10' }
+
+ configuration = get_configuration(release[vs], False)
platform = 'x64'
msbuild(platform, configuration, 'Build', name + '.vcxproj',
'', os.path.join(vs, name))
- sdv_clean(name, vs)
-
msbuild(platform, configuration, 'sdv', name + '.vcxproj',
- '/p:Inputs="/scan"', os.path.join(vs, name))
-
- path = [vs, name, 'sdv-map.h']
- file = open(os.path.join(*path), 'r')
-
- for line in file:
- print(line)
-
- file.close()
+ '/p:Inputs="/clean"', os.path.join(vs, name))
msbuild(platform, configuration, 'sdv', name + '.vcxproj',
'/p:Inputs="/check:default.sdv"', os.path.join(vs, name))
@@ -406,10 +364,11 @@ def getVsVersion():
continue
vsenv[k] = v
- if vsenv['VisualStudioVersion'] == '11.0' :
- return 'vs2012'
- elif vsenv['VisualStudioVersion'] == '12.0' :
- return 'vs2013'
+ mapping = { '11.0':'vs2012',
+ '12.0':'vs2013',
+ '14.0':'vs2015' }
+
+ return mapping[vsenv['VisualStudioVersion']]
if __name__ == '__main__':
debug = { 'checked': True, 'free': False }
@@ -465,16 +424,15 @@ if __name__ == '__main__':
symstore_del(driver, 30)
- if vs=='vs2012':
- release = 'Windows Vista'
- else:
- release = 'Windows 7'
+ release = { 'vs2012':'Windows Vista',
+ 'vs2013':'Windows 7',
+ 'vs2015':'Windows 8' }
- build_sln(driver, release, 'x86', debug[sys.argv[1]], vs)
- build_sln(driver, release, 'x64', debug[sys.argv[1]], vs)
+ build_sln(driver, release[vs], 'x86', debug[sys.argv[1]], vs)
+ build_sln(driver, release[vs], 'x64', debug[sys.argv[1]], vs)
- symstore_add(driver, release, 'x86', debug[sys.argv[1]], vs)
- symstore_add(driver, release, 'x64', debug[sys.argv[1]], vs)
+ symstore_add(driver, release[vs], 'x86', debug[sys.argv[1]], vs)
+ symstore_add(driver, release[vs], 'x64', debug[sys.argv[1]], vs)
if len(sys.argv) <= 2 or sdv[sys.argv[2]]:
run_sdv('xeniface', driver, vs)
diff --git a/src/xeniface/fdo.c b/src/xeniface/fdo.c
index e3b3dd9..08899bb 100644
--- a/src/xeniface/fdo.c
+++ b/src/xeniface/fdo.c
@@ -1036,6 +1036,7 @@ fail1:
return status;
}
+__drv_requiresIRQL(PASSIVE_LEVEL)
static DECLSPEC_NOINLINE VOID
FdoD0ToD3(
IN PXENIFACE_FDO Fdo
@@ -1299,6 +1300,7 @@ FdoSurpriseRemoval(
return status;
}
+__drv_requiresIRQL(PASSIVE_LEVEL)
static DECLSPEC_NOINLINE NTSTATUS
FdoRemoveDevice(
IN PXENIFACE_FDO Fdo,
@@ -2302,6 +2304,7 @@ FdoDispatchSystemControl(
return status;
}
+__drv_requiresIRQL(PASSIVE_LEVEL)
static DECLSPEC_NOINLINE NTSTATUS
FdoDispatchCleanup(
IN PXENIFACE_FDO Fdo,
@@ -2368,6 +2371,7 @@ FdoDispatch(
return status;
}
+__drv_requiresIRQL(PASSIVE_LEVEL)
static NTSTATUS
FdoQueryInterface(
IN PXENIFACE_FDO Fdo,
diff --git a/src/xeniface/ioctl_store.c b/src/xeniface/ioctl_store.c
index c0a1aef..542dbbf 100644
--- a/src/xeniface/ioctl_store.c
+++ b/src/xeniface/ioctl_store.c
@@ -321,16 +321,29 @@ __ConvertPermissions(
if (XenbusPermissions == NULL)
goto fail2;
+#pragma warning(push)
+#pragma warning(disable:6385)
+#pragma warning(disable:6386)
+
// Currently XENIFACE_STORE_PERMISSION is the same as
XENBUS_STORE_PERMISSION,
// but we convert them here in case something changes in the future.
for (Index = 0; Index < NumberPermissions; Index++) {
- if ((XenifacePermissions[Index].Mask &
~XENIFACE_STORE_ALLOWED_PERMISSIONS) != 0)
+ XENIFACE_STORE_PERMISSION_MASK Mask = XenifacePermissions[Index].Mask;
+
+ if (Mask & ~XENIFACE_STORE_ALLOWED_PERMISSIONS)
goto fail3;
XenbusPermissions[Index].Domain = XenifacePermissions[Index].Domain;
- XenbusPermissions[Index].Mask =
(XENBUS_STORE_PERMISSION_MASK)XenifacePermissions[Index].Mask;
+ XenbusPermissions[Index].Mask = 0;
+
+ if (Mask & XENIFACE_STORE_PERM_READ)
+ XenbusPermissions[Index].Mask |= XENBUS_STORE_PERM_READ;
+ if (Mask & XENIFACE_STORE_PERM_WRITE)
+ XenbusPermissions[Index].Mask |= XENBUS_STORE_PERM_WRITE;
}
+#pragma warning(pop)
+
return XenbusPermissions;
fail3:
diff --git a/src/xeniface/thread.c b/src/xeniface/thread.c
index 386bba7..4a5d425 100644
--- a/src/xeniface/thread.c
+++ b/src/xeniface/thread.c
@@ -115,6 +115,7 @@ ThreadFunction(
// NOT REACHED
}
+__drv_requiresIRQL(PASSIVE_LEVEL)
NTSTATUS
ThreadCreate(
IN XENIFACE_THREAD_FUNCTION Function,
diff --git a/src/xeniface/thread.h b/src/xeniface/thread.h
index 69f3c51..929f34e 100644
--- a/src/xeniface/thread.h
+++ b/src/xeniface/thread.h
@@ -38,6 +38,7 @@ typedef struct _XENIFACE_THREAD XENIFACE_THREAD,
*PXENIFACE_THREAD;
typedef NTSTATUS (*XENIFACE_THREAD_FUNCTION)(PXENIFACE_THREAD, PVOID);
+__drv_requiresIRQL(PASSIVE_LEVEL)
extern NTSTATUS
ThreadCreate(
IN XENIFACE_THREAD_FUNCTION Function,
diff --git a/src/xeniface/util.h b/src/xeniface/util.h
index 13a6734..56810e0 100644
--- a/src/xeniface/util.h
+++ b/src/xeniface/util.h
@@ -138,6 +138,7 @@ __InterlockedSubtract(
return New;
}
+__checkReturn
static FORCEINLINE PVOID
__AllocatePoolWithTag(
IN POOL_TYPE PoolType,
@@ -150,6 +151,7 @@ __AllocatePoolWithTag(
__analysis_assume(PoolType == NonPagedPool ||
PoolType == PagedPool);
+#pragma warning(suppress:28160) // annotation error
Buffer = ExAllocatePoolWithTag(PoolType, NumberOfBytes, Tag);
if (Buffer == NULL)
return NULL;
@@ -190,12 +192,15 @@ __AllocatePage(
SkipBytes,
TotalBytes,
MmCached,
- 0);
+ MM_DONT_ZERO_ALLOCATION);
status = STATUS_NO_MEMORY;
if (Mdl == NULL)
goto fail1;
+ if (Mdl->ByteCount < PAGE_SIZE)
+ goto fail2;
+
ASSERT((Mdl->MdlFlags & (MDL_MAPPED_TO_SYSTEM_VA |
MDL_PARTIAL_HAS_BEEN_MAPPED |
MDL_PARTIAL |
@@ -212,7 +217,7 @@ __AllocatePage(
status = STATUS_UNSUCCESSFUL;
if (MdlMappedSystemVa == NULL)
- goto fail2;
+ goto fail3;
ASSERT3P(MdlMappedSystemVa, ==, Mdl->MappedSystemVa);
@@ -220,6 +225,9 @@ __AllocatePage(
return Mdl;
+fail3:
+ Error("fail3\n");
+
fail2:
Error("fail2\n");
@@ -267,16 +275,54 @@ __strtok_r(
if (Token == NULL)
return NULL;
- while (*Token != L'\0' &&
+ while (*Token != '\0' &&
strchr(Delimiter, *Token) != NULL)
Token++;
+ if (*Token == '\0')
+ return NULL;
+
+ End = Token + 1;
+ while (*End != '\0' &&
+ strchr(Delimiter, *End) == NULL)
+ End++;
+
+ if (*End != '\0')
+ *End++ = '\0';
+
+ *Context = End;
+
+ return Token;
+}
+
+static FORCEINLINE PWCHAR
+__wcstok_r(
+ IN PWCHAR Buffer,
+ IN PWCHAR Delimiter,
+ IN OUT PWCHAR *Context
+ )
+{
+ PWCHAR Token;
+ PWCHAR End;
+
+ if (Buffer != NULL)
+ *Context = Buffer;
+
+ Token = *Context;
+
+ if (Token == NULL)
+ return NULL;
+
+ while (*Token != L'\0' &&
+ wcschr(Delimiter, *Token) != NULL)
+ Token++;
+
if (*Token == L'\0')
return NULL;
End = Token + 1;
while (*End != L'\0' &&
- strchr(Delimiter, *End) == NULL)
+ wcschr(Delimiter, *End) == NULL)
End++;
if (*End != L'\0')
diff --git a/src/xeniface/wmi.c b/src/xeniface/wmi.c
index 7059cb2..2e0dd87 100644
--- a/src/xeniface/wmi.c
+++ b/src/xeniface/wmi.c
@@ -1868,6 +1868,7 @@ SessionExecuteGetNextSibling(UCHAR *InBuffer,
leafoffset--;
}
if (leafoffset != 0){
+#pragma warning(suppress:6386) // buffer overrun
RtlCopyBytes(tmppath,path->Buffer, leafoffset);
RtlCopyBytes(tmpleaf, path->Buffer+leafoffset+1,
path->Length-leafoffset-1);
}
@@ -1879,6 +1880,7 @@ SessionExecuteGetNextSibling(UCHAR *InBuffer,
tmppath[0]='/';
}
else {
+#pragma warning(suppress:6386) // buffer overrun
RtlCopyBytes(tmpleaf, path->Buffer, path->Length);
}
diff --git a/vs2015/configs.props b/vs2015/configs.props
new file mode 100644
index 0000000..cdbb3c8
--- /dev/null
+++ b/vs2015/configs.props
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Windows 10 Debug|Win32">
+ <Configuration>Windows 10 Debug</Configuration>
+ <Platform>Win32</Platform>
+
<WindowsTargetPlatformVersion>10</WindowsTargetPlatformVersion>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Windows 10 Release|Win32">
+ <Configuration>Windows 10 Release</Configuration>
+ <Platform>Win32</Platform>
+
<WindowsTargetPlatformVersion>10</WindowsTargetPlatformVersion>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Windows 10 Debug|x64">
+ <Configuration>Windows 10 Debug</Configuration>
+ <Platform>x64</Platform>
+
<WindowsTargetPlatformVersion>10</WindowsTargetPlatformVersion>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Windows 10 Release|x64">
+ <Configuration>Windows 10 Release</Configuration>
+ <Platform>x64</Platform>
+
<WindowsTargetPlatformVersion>10</WindowsTargetPlatformVersion>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Windows 8 Debug|Win32">
+ <Configuration>Windows 8 Debug</Configuration>
+ <Platform>Win32</Platform>
+
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Windows 8 Release|Win32">
+ <Configuration>Windows 8 Release</Configuration>
+ <Platform>Win32</Platform>
+
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Windows 8 Debug|x64">
+ <Configuration>Windows 8 Debug</Configuration>
+ <Platform>x64</Platform>
+
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Windows 8 Release|x64">
+ <Configuration>Windows 8 Release</Configuration>
+ <Platform>x64</Platform>
+
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+ </ProjectConfiguration>
+ </ItemGroup>
+</Project>
diff --git a/vs2015/package/package.vcxproj b/vs2015/package/package.vcxproj
new file mode 100644
index 0000000..b795f62
--- /dev/null
+++ b/vs2015/package/package.vcxproj
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="..\configs.props" />
+ <PropertyGroup Label="PropertySheets">
+ <DriverType>WDM</DriverType>
+ <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
+ <ConfigurationType>Utility</ConfigurationType>
+ <DriverType>Package</DriverType>
+ <DisableFastUpToDateCheck>true</DisableFastUpToDateCheck>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{9B071A35-897C-477A-AEB7-95F77618A21D}</ProjectGuid>
+ </PropertyGroup>
+ <Import Project="..\targets.props" />
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <PropertyGroup>
+ <EnableInf2cat>true</EnableInf2cat>
+ <Inf2CatWindowsVersionList
Condition="'$(Platform)'=='x64'">8_x64;Server8_x64;10_x64;Server10_x64</Inf2CatWindowsVersionList>
+ <Inf2CatWindowsVersionList
Condition="'$(Platform)'=='Win32'">8_x86;10_x86</Inf2CatWindowsVersionList>
+ <DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
+ <EnableDeployment>False</EnableDeployment>
+ <ImportToStore>False</ImportToStore>
+ <InstallMode>None</InstallMode>
+ <ScriptDeviceQuery>%PathToInf%</ScriptDeviceQuery>
+ <EnableVerifier>False</EnableVerifier>
+ <AllDrivers>False</AllDrivers>
+ <VerifyProjectOutput>True</VerifyProjectOutput>
+ <VerifyDrivers />
+ <VerifyFlags>133563</VerifyFlags>
+ <IntDir>..\$(ProjectName)\$(ConfigurationName)\$(Platform)\</IntDir>
+ <OutDir>..\$(ConfigurationName)\$(Platform)\</OutDir>
+ <PackageDir>..\..\xeniface\$(DDKPlatform)</PackageDir>
+ </PropertyGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\xeniface\xeniface.vcxproj">
+ <Project>{22166290-65D8-49D2-BB88-33201797C7D8}</Project>
+ </ProjectReference>
+ <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'" />
+ <FilesToPackage Include="$(KIT)\Redist\DIFx\dpinst\EngMui\x64\dpinst.exe"
Condition="'$(Platform)'=='x64'" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
diff --git a/vs2015/package/package.vcxproj.user
b/vs2015/package/package.vcxproj.user
new file mode 100644
index 0000000..38b83e3
--- /dev/null
+++ b/vs2015/package/package.vcxproj.user
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <SignMode>TestSign</SignMode>
+ <TestCertificate>..\..\src\xeniface.pfx</TestCertificate>
+
<TimeStampServer>http://timestamp.verisign.com/scripts/timstamp.dll</TimeStampServer>
+ </PropertyGroup>
+</Project>
diff --git a/vs2015/targets.props b/vs2015/targets.props
new file mode 100644
index 0000000..64598fc
--- /dev/null
+++ b/vs2015/targets.props
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup Label="Configuration"
Condition="'$(Configuration)|$(Platform)'=='Windows 10 Debug|Win32'">
+ <TargetVersion>Windows10</TargetVersion>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ </PropertyGroup>
+ <PropertyGroup Label="Configuration"
Condition="'$(Configuration)|$(Platform)'=='Windows 10 Release|Win32'">
+ <TargetVersion>Windows10</TargetVersion>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ </PropertyGroup>
+ <PropertyGroup Label="Configuration"
Condition="'$(Configuration)|$(Platform)'=='Windows 10 Debug|x64'">
+ <TargetVersion>Windows10</TargetVersion>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ </PropertyGroup>
+ <PropertyGroup Label="Configuration"
Condition="'$(Configuration)|$(Platform)'=='Windows 10 Release|x64'">
+ <TargetVersion>Windows10</TargetVersion>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ </PropertyGroup>
+ <PropertyGroup Label="Configuration"
Condition="'$(Configuration)|$(Platform)'=='Windows 8 Debug|Win32'">
+ <TargetVersion>Windows8</TargetVersion>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ </PropertyGroup>
+ <PropertyGroup Label="Configuration"
Condition="'$(Configuration)|$(Platform)'=='Windows 8 Release|Win32'">
+ <TargetVersion>Windows8</TargetVersion>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ </PropertyGroup>
+ <PropertyGroup Label="Configuration"
Condition="'$(Configuration)|$(Platform)'=='Windows 8 Debug|x64'">
+ <TargetVersion>Windows8</TargetVersion>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ </PropertyGroup>
+ <PropertyGroup Label="Configuration"
Condition="'$(Configuration)|$(Platform)'=='Windows 8 Release|x64'">
+ <TargetVersion>Windows8</TargetVersion>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ </PropertyGroup>
+</Project>
diff --git a/vs2015/xenagent/xenagent.vcxproj b/vs2015/xenagent/xenagent.vcxproj
new file mode 100644
index 0000000..c7fa387
--- /dev/null
+++ b/vs2015/xenagent/xenagent.vcxproj
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="..\configs.props" />
+ <PropertyGroup Label="PropertySheets">
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
+ <ConfigurationType>Application</ConfigurationType>
+ </PropertyGroup>
+ <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" />
+ <PropertyGroup>
+ <IncludePath>$(IncludePath)</IncludePath>
+ <RunCodeAnalysis>true</RunCodeAnalysis>
+ <EnableInf2cat>false</EnableInf2cat>
+ </PropertyGroup>
+ <PropertyGroup>
+ <CustomBuildAfterTargets>Link</CustomBuildAfterTargets>
+ </PropertyGroup>
+ <ItemDefinitionGroup>
+ <ClCompile>
+
<AdditionalIncludeDirectories>$(SolutionDir)..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+
<PreprocessorDefinitions>WIN32;_WINDOWS;_CRT_SECURE_NO_WARNINGS;__MODULE__="XENAGENT";%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <WarningLevel>EnableAllWarnings</WarningLevel>
+
<DisableSpecificWarnings>4127;4350;4711;4548;4820;4668;4255;6001;6054;28196;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ <EnablePREfast>true</EnablePREfast>
+ <RuntimeLibrary
Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
+ <RuntimeLibrary
Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+
<AdditionalDependencies>powrprof.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ <ResourceCompile>
+
<AdditionalIncludeDirectories>$(SolutionDir)..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ResourceCompile>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
+ <ClCompile>
+
<PreprocessorDefinitions>__i386__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <CustomBuildStep>
+ <Outputs>$(TargetDir)$(TargetName).dll</Outputs>
+ <Inputs>$(IntDir)$(TargetName).res</Inputs>
+ <Command>link -machine:x86 -dll -noentry -out:%(Outputs)
%(Inputs)</Command>
+ </CustomBuildStep>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Platform)'=='x64'">
+ <ClCompile>
+
<PreprocessorDefinitions>__x86_64__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <CustomBuildStep>
+ <Outputs>$(TargetDir)$(TargetName).dll</Outputs>
+ <Inputs>$(IntDir)$(TargetName).res</Inputs>
+ <Command>link -machine:x64 -dll -noentry -out:%(Outputs)
%(Inputs)</Command>
+ </CustomBuildStep>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <FilesToPackage Include="$(TargetPath)" />
+ <FilesToPackage Include="$(OutDir)$(TargetName).pdb" />
+ <FilesToPackage Include="$(OutDir)$(TargetName).dll" />
+ <FilesToPackage Include="@(Inf->'%(CopyOutput)')" Condition="'@(Inf)'!=''"
/>
+ </ItemGroup>
+ <ItemGroup>
+ <MessageCompile Include="..\..\src\xenagent\messages.mc" />
+ </ItemGroup>
+ <ItemGroup>
+ <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" />
+ </ItemGroup>
+ <ItemGroup>
+ <Image Include="..\..\src\xenagent\xen.ico" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+</Project>
diff --git a/vs2015/xenagent/xenagent.vcxproj.user
b/vs2015/xenagent/xenagent.vcxproj.user
new file mode 100644
index 0000000..50f3cbe
--- /dev/null
+++ b/vs2015/xenagent/xenagent.vcxproj.user
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup />
+</Project>
\ No newline at end of file
diff --git a/vs2015/xeniface.sln b/vs2015/xeniface.sln
new file mode 100644
index 0000000..040f071
--- /dev/null
+++ b/vs2015/xeniface.sln
@@ -0,0 +1,130 @@
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.25420.1
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xeniface_coinst",
"xeniface_coinst\xeniface_coinst.vcxproj",
"{85C731AD-2EA2-4049-A542-D2D38EDE938C}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xeniface",
"xeniface\xeniface.vcxproj", "{22166290-65D8-49D2-BB88-33201797C7D8}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenagent",
"xenagent\xenagent.vcxproj", "{2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "package",
"package\package.vcxproj", "{9B071A35-897C-477A-AEB7-95F77618A21D}"
+ ProjectSection(ProjectDependencies) = postProject
+ {22166290-65D8-49D2-BB88-33201797C7D8} =
{22166290-65D8-49D2-BB88-33201797C7D8}
+ {85C731AD-2EA2-4049-A542-D2D38EDE938C} =
{85C731AD-2EA2-4049-A542-D2D38EDE938C}
+ {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B} =
{2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Windows 8 Debug|Win32 = Windows 8 Debug|Win32
+ Windows 8 Debug|x64 = Windows 8 Debug|x64
+ Windows 8 Release|Win32 = Windows 8 Release|Win32
+ Windows 8 Release|x64 = Windows 8 Release|x64
+ Windows 10 Debug|Win32 = Windows 10 Debug|Win32
+ Windows 10 Debug|x64 = Windows 10 Debug|x64
+ Windows 10 Release|Win32 = Windows 10 Release|Win32
+ Windows 10 Release|x64 = Windows 10 Release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 8
Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
+ {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 8
Debug|Win32.Build.0 = Windows 8 Debug|Win32
+ {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 8
Debug|Win32.Deploy.0 = Windows 8 Debug|Win32
+ {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 8
Debug|x64.ActiveCfg = Windows 8 Debug|x64
+ {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 8
Debug|x64.Build.0 = Windows 8 Debug|x64
+ {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 8
Debug|x64.Deploy.0 = Windows 8 Debug|x64
+ {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 8
Release|Win32.ActiveCfg = Windows 8 Release|Win32
+ {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 8
Release|Win32.Build.0 = Windows 8 Release|Win32
+ {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 8
Release|Win32.Deploy.0 = Windows 8 Release|Win32
+ {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 8
Release|x64.ActiveCfg = Windows 8 Release|x64
+ {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 8
Release|x64.Build.0 = Windows 8 Release|x64
+ {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 8
Release|x64.Deploy.0 = Windows 8 Release|x64
+ {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 10
Debug|Win32.ActiveCfg = Windows 10 Debug|Win32
+ {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 10
Debug|Win32.Build.0 = Windows 10 Debug|Win32
+ {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 10
Debug|Win32.Deploy.0 = Windows 10 Debug|Win32
+ {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 10
Debug|x64.ActiveCfg = Windows 10 Debug|x64
+ {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 10
Debug|x64.Build.0 = Windows 10 Debug|x64
+ {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 10
Debug|x64.Deploy.0 = Windows 10 Debug|x64
+ {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 10
Release|Win32.ActiveCfg = Windows 10 Release|Win32
+ {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 10
Release|Win32.Build.0 = Windows 10 Release|Win32
+ {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 10
Release|Win32.Deploy.0 = Windows 10 Release|Win32
+ {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 10
Release|x64.ActiveCfg = Windows 10 Release|x64
+ {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 10
Release|x64.Build.0 = Windows 10 Release|x64
+ {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 10
Release|x64.Deploy.0 = Windows 10 Release|x64
+ {22166290-65D8-49D2-BB88-33201797C7D8}.Windows 8
Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
+ {22166290-65D8-49D2-BB88-33201797C7D8}.Windows 8
Debug|Win32.Build.0 = Windows 8 Debug|Win32
+ {22166290-65D8-49D2-BB88-33201797C7D8}.Windows 8
Debug|Win32.Deploy.0 = Windows 8 Debug|Win32
+ {22166290-65D8-49D2-BB88-33201797C7D8}.Windows 8
Debug|x64.ActiveCfg = Windows 8 Debug|x64
+ {22166290-65D8-49D2-BB88-33201797C7D8}.Windows 8
Debug|x64.Build.0 = Windows 8 Debug|x64
+ {22166290-65D8-49D2-BB88-33201797C7D8}.Windows 8
Debug|x64.Deploy.0 = Windows 8 Debug|x64
+ {22166290-65D8-49D2-BB88-33201797C7D8}.Windows 8
Release|Win32.ActiveCfg = Windows 8 Release|Win32
+ {22166290-65D8-49D2-BB88-33201797C7D8}.Windows 8
Release|Win32.Build.0 = Windows 8 Release|Win32
+ {22166290-65D8-49D2-BB88-33201797C7D8}.Windows 8
Release|Win32.Deploy.0 = Windows 8 Release|Win32
+ {22166290-65D8-49D2-BB88-33201797C7D8}.Windows 8
Release|x64.ActiveCfg = Windows 8 Release|x64
+ {22166290-65D8-49D2-BB88-33201797C7D8}.Windows 8
Release|x64.Build.0 = Windows 8 Release|x64
+ {22166290-65D8-49D2-BB88-33201797C7D8}.Windows 8
Release|x64.Deploy.0 = Windows 8 Release|x64
+ {22166290-65D8-49D2-BB88-33201797C7D8}.Windows 10
Debug|Win32.ActiveCfg = Windows 10 Debug|Win32
+ {22166290-65D8-49D2-BB88-33201797C7D8}.Windows 10
Debug|Win32.Build.0 = Windows 10 Debug|Win32
+ {22166290-65D8-49D2-BB88-33201797C7D8}.Windows 10
Debug|Win32.Deploy.0 = Windows 10 Debug|Win32
+ {22166290-65D8-49D2-BB88-33201797C7D8}.Windows 10
Debug|x64.ActiveCfg = Windows 10 Debug|x64
+ {22166290-65D8-49D2-BB88-33201797C7D8}.Windows 10
Debug|x64.Build.0 = Windows 10 Debug|x64
+ {22166290-65D8-49D2-BB88-33201797C7D8}.Windows 10
Debug|x64.Deploy.0 = Windows 10 Debug|x64
+ {22166290-65D8-49D2-BB88-33201797C7D8}.Windows 10
Release|Win32.ActiveCfg = Windows 10 Release|Win32
+ {22166290-65D8-49D2-BB88-33201797C7D8}.Windows 10
Release|Win32.Build.0 = Windows 10 Release|Win32
+ {22166290-65D8-49D2-BB88-33201797C7D8}.Windows 10
Release|Win32.Deploy.0 = Windows 10 Release|Win32
+ {22166290-65D8-49D2-BB88-33201797C7D8}.Windows 10
Release|x64.ActiveCfg = Windows 10 Release|x64
+ {22166290-65D8-49D2-BB88-33201797C7D8}.Windows 10
Release|x64.Build.0 = Windows 10 Release|x64
+ {22166290-65D8-49D2-BB88-33201797C7D8}.Windows 10
Release|x64.Deploy.0 = Windows 10 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 10
Debug|Win32.ActiveCfg = Windows 10 Debug|Win32
+ {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 10
Debug|Win32.Build.0 = Windows 10 Debug|Win32
+ {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 10
Debug|Win32.Deploy.0 = Windows 10 Debug|Win32
+ {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 10
Debug|x64.ActiveCfg = Windows 10 Debug|x64
+ {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 10
Debug|x64.Build.0 = Windows 10 Debug|x64
+ {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 10
Debug|x64.Deploy.0 = Windows 10 Debug|x64
+ {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 10
Release|Win32.ActiveCfg = Windows 10 Release|Win32
+ {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 10
Release|Win32.Build.0 = Windows 10 Release|Win32
+ {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 10
Release|Win32.Deploy.0 = Windows 10 Release|Win32
+ {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 10
Release|x64.ActiveCfg = Windows 10 Release|x64
+ {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 10
Release|x64.Build.0 = Windows 10 Release|x64
+ {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 10
Release|x64.Deploy.0 = Windows 10 Release|x64
+ {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 8
Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
+ {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 8
Debug|Win32.Build.0 = Windows 8 Debug|Win32
+ {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 8
Debug|Win32.Deploy.0 = Windows 8 Debug|Win32
+ {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 8
Debug|x64.ActiveCfg = Windows 8 Debug|x64
+ {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 8
Debug|x64.Build.0 = Windows 8 Debug|x64
+ {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 8
Debug|x64.Deploy.0 = Windows 8 Debug|x64
+ {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 8
Release|Win32.ActiveCfg = Windows 8 Release|Win32
+ {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 8
Release|Win32.Build.0 = Windows 8 Release|Win32
+ {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 8
Release|Win32.Deploy.0 = Windows 8 Release|Win32
+ {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 8
Release|x64.ActiveCfg = Windows 8 Release|x64
+ {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 8
Release|x64.Build.0 = Windows 8 Release|x64
+ {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 8
Release|x64.Deploy.0 = Windows 8 Release|x64
+ {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 10
Debug|Win32.ActiveCfg = Windows 10 Debug|Win32
+ {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 10
Debug|Win32.Build.0 = Windows 10 Debug|Win32
+ {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 10
Debug|Win32.Deploy.0 = Windows 10 Debug|Win32
+ {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 10
Debug|x64.ActiveCfg = Windows 10 Debug|x64
+ {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 10
Debug|x64.Build.0 = Windows 10 Debug|x64
+ {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 10
Debug|x64.Deploy.0 = Windows 10 Debug|x64
+ {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 10
Release|Win32.ActiveCfg = Windows 10 Release|Win32
+ {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 10
Release|Win32.Build.0 = Windows 10 Release|Win32
+ {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 10
Release|Win32.Deploy.0 = Windows 10 Release|Win32
+ {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 10
Release|x64.ActiveCfg = Windows 10 Release|x64
+ {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 10
Release|x64.Build.0 = Windows 10 Release|x64
+ {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 10
Release|x64.Deploy.0 = Windows 10 Release|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/vs2015/xeniface/xeniface.vcxproj b/vs2015/xeniface/xeniface.vcxproj
new file mode 100644
index 0000000..860630f
--- /dev/null
+++ b/vs2015/xeniface/xeniface.vcxproj
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="..\configs.props" />
+ <PropertyGroup Label="PropertySheets">
+ <DriverType>WDM</DriverType>
+ <PlatformToolset>WindowsKernelModeDriver10.0</PlatformToolset>
+ <ConfigurationType>Driver</ConfigurationType>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{22166290-65D8-49D2-BB88-33201797C7D8}</ProjectGuid>
+ </PropertyGroup>
+ <Import Project="..\targets.props" />
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <PropertyGroup>
+ <RunCodeAnalysis>true</RunCodeAnalysis>
+ <EnableInf2cat>false</EnableInf2cat>
+ <IntDir>..\$(ProjectName)\$(ConfigurationName)\$(Platform)\</IntDir>
+ <OutDir>..\$(ConfigurationName)\$(Platform)\</OutDir>
+ </PropertyGroup>
+ <ItemDefinitionGroup>
+ <ClCompile>
+
<AdditionalIncludeDirectories>$(WindowsSdkDir)\include\km;..\..\include;</AdditionalIncludeDirectories>
+
<PreprocessorDefinitions>__MODULE__="XENIFACE";POOL_NX_OPTIN=1;NT_PROCESSOR_GROUPS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <WarningLevel>EnableAllWarnings</WarningLevel>
+
<DisableSpecificWarnings>4464;4711;4548;4820;4668;4255;6001;6054;30030;30029;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ <EnablePREfast>true</EnablePREfast>
+ </ClCompile>
+ <ResourceCompile>
+
<AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ResourceCompile>
+ <Link>
+ <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
+
<AdditionalDependencies>$(DDK_LIB_PATH)\ntstrsafe.lib;$(DDK_LIB_PATH)\procgrp.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <EnableCOMDATFolding>false</EnableCOMDATFolding>
+ </Link>
+ <Inf>
+ <SpecifyArchitecture>true</SpecifyArchitecture>
+ <SpecifyDriverVerDirectiveVersion>true</SpecifyDriverVerDirectiveVersion>
+
<TimeStamp>$(MAJOR_VERSION).$(MINOR_VERSION).$(MICRO_VERSION).$(BUILD_NUMBER)</TimeStamp>
+ <EnableVerbose>true</EnableVerbose>
+ </Inf>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
+ <ClCompile>
+
<PreprocessorDefinitions>__i386__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <Inf>
+ <Architecture>x86</Architecture>
+ </Inf>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Platform)'=='x64'">
+ <ClCompile>
+
<PreprocessorDefinitions>__x86_64__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <Inf>
+ <Architecture>amd64</Architecture>
+ </Inf>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <FilesToPackage Include="$(TargetPath)" />
+ <FilesToPackage Include="$(OutDir)$(TargetName).pdb" />
+ <FilesToPackage Include="@(Inf->'%(CopyOutput)')" Condition="'@(Inf)'!=''"
/>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\src\xeniface\ioctls.c" />
+ <ClCompile Include="..\..\src\xeniface\wmi.c" />
+ <ClCompile Include="..\..\src\xeniface\driver.c" />
+ <ClCompile Include="..\..\src\xeniface\fdo.c" />
+ <ClCompile Include="..\..\src\xeniface\registry.c" />
+ <ClCompile Include="..\..\src\xeniface\thread.c" />
+ <ClCompile Include="..\..\src\xeniface\ioctl_sharedinfo.c" />
+ <ClCompile Include="..\..\src\xeniface\ioctl_suspend.c" />
+ <ClCompile Include="..\..\src\xeniface\ioctl_evtchn.c" />
+ <ClCompile Include="..\..\src\xeniface\ioctl_gnttab.c" />
+ <ClCompile Include="..\..\src\xeniface\ioctl_store.c" />
+ <ClCompile Include="..\..\src\xeniface\irp_queue.c" />
+ </ItemGroup>
+ <ItemGroup>
+ <Mofcomp Include="../../src/xeniface/wmi.mof">
+ <CreateBinaryMofFile>$(IntDir)/wmi.bmf</CreateBinaryMofFile>
+ </Mofcomp>
+ </ItemGroup>
+ <ItemGroup>
+ <Wmimofck Include="$(IntDir)\wmi.bmf">
+ <HeaderOutputFile>..\..\src\xeniface\wmi_generated.h</HeaderOutputFile>
+ </Wmimofck>
+ </ItemGroup>
+ <ItemGroup>
+ <ResourceCompile Include="..\..\src\xeniface\xeniface.rc" />
+ </ItemGroup>
+ <ItemGroup>
+ <Inf Include="..\xeniface.inf" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+</Project>
diff --git a/vs2015/xeniface/xeniface.vcxproj.user
b/vs2015/xeniface/xeniface.vcxproj.user
new file mode 100644
index 0000000..38b83e3
--- /dev/null
+++ b/vs2015/xeniface/xeniface.vcxproj.user
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <SignMode>TestSign</SignMode>
+ <TestCertificate>..\..\src\xeniface.pfx</TestCertificate>
+
<TimeStampServer>http://timestamp.verisign.com/scripts/timstamp.dll</TimeStampServer>
+ </PropertyGroup>
+</Project>
diff --git a/vs2015/xeniface_coinst/xeniface_coinst.vcxproj
b/vs2015/xeniface_coinst/xeniface_coinst.vcxproj
new file mode 100644
index 0000000..343d2eb
--- /dev/null
+++ b/vs2015/xeniface_coinst/xeniface_coinst.vcxproj
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="..\configs.props" />
+ <PropertyGroup Label="PropertySheets">
+ <DriverType>WDM</DriverType>
+ <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{85c731ad-2ea2-4049-a542-d2d38ede938c}</ProjectGuid>
+ </PropertyGroup>
+ <Import Project="..\targets.props" />
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <PropertyGroup>
+ <RunCodeAnalysis>true</RunCodeAnalysis>
+ <EnableInf2cat>false</EnableInf2cat>
+ </PropertyGroup>
+ <ItemDefinitionGroup>
+ <ClCompile>
+
<AdditionalIncludeDirectories>$(SolutionDir)..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+
<PreprocessorDefinitions>__MODULE__="XENIFACE_COINST";%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <WarningLevel>EnableAllWarnings</WarningLevel>
+
<DisableSpecificWarnings>4127;4711;4548;4820;4668;4255;6001;6054;28196;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ <EnablePREfast>true</EnablePREfast>
+ <RuntimeLibrary
Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
+ <RuntimeLibrary
Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+
<ModuleDefinitionFile>../../src/coinst/xeniface_coinst.def</ModuleDefinitionFile>
+
<AdditionalDependencies>setupapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ <ResourceCompile>
+
<AdditionalIncludeDirectories>$(SolutionDir)..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ResourceCompile>
+ <Inf>
+ <SpecifyArchitecture>true</SpecifyArchitecture>
+ <SpecifyDriverVerDirectiveVersion>true</SpecifyDriverVerDirectiveVersion>
+
<TimeStamp>$(MAJOR_VERSION).$(MINOR_VERSION).$(MICRO_VERSION).$(BUILD_NUMBER)</TimeStamp>
+ <EnableVerbose>true</EnableVerbose>
+ </Inf>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
+ <ClCompile>
+
<PreprocessorDefinitions>__i386__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <Inf>
+ <Architecture>x86</Architecture>
+ </Inf>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Platform)'=='x64'">
+ <ClCompile>
+
<PreprocessorDefinitions>__x86_64__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <Inf>
+ <Architecture>amd64</Architecture>
+ </Inf>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <FilesToPackage Include="$(TargetPath)" />
+ <FilesToPackage Include="$(OutDir)$(TargetName).pdb" />
+ <FilesToPackage Include="@(Inf->'%(CopyOutput)')" Condition="'@(Inf)'!=''"
/>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\src\coinst\coinst.c" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="..\..\src\coinst\xeniface_coinst.def" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+</Project>
diff --git a/vs2015/xeniface_coinst/xeniface_coinst.vcxproj.user
b/vs2015/xeniface_coinst/xeniface_coinst.vcxproj.user
new file mode 100644
index 0000000..38b83e3
--- /dev/null
+++ b/vs2015/xeniface_coinst/xeniface_coinst.vcxproj.user
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <SignMode>TestSign</SignMode>
+ <TestCertificate>..\..\src\xeniface.pfx</TestCertificate>
+
<TimeStampServer>http://timestamp.verisign.com/scripts/timstamp.dll</TimeStampServer>
+ </PropertyGroup>
+</Project>
--
2.5.3
_______________________________________________
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 |