[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [win-pv-devel] [PATCH 1/4] Add a new monitor service
This patch adds the boilerplate for a service called XENBUS_MONITOR. The service does not yet have any functionality. This will be added by subsequent patches. Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx> --- src/coinst/coinst.c | 80 +++- src/monitor/messages.mc | 24 + src/monitor/monitor.c | 524 ++++++++++++++++++++++ src/monitor/xenbus_monitor.rc | 57 +++ src/xenbus.inf | 39 +- vs2012/package/package.vcxproj | 3 + vs2012/xenbus.sln | 82 ++-- vs2012/xenbus_monitor/xenbus_monitor.vcxproj | 82 ++++ vs2012/xenbus_monitor/xenbus_monitor.vcxproj.user | 8 + vs2013/package/package.vcxproj | 3 + vs2013/xenbus.sln | 170 ++++--- vs2013/xenbus_monitor/xenbus_monitor.vcxproj | 82 ++++ vs2013/xenbus_monitor/xenbus_monitor.vcxproj.user | 8 + 13 files changed, 1063 insertions(+), 99 deletions(-) create mode 100644 src/monitor/messages.mc create mode 100644 src/monitor/monitor.c create mode 100644 src/monitor/xenbus_monitor.rc create mode 100644 vs2012/xenbus_monitor/xenbus_monitor.vcxproj create mode 100644 vs2012/xenbus_monitor/xenbus_monitor.vcxproj.user create mode 100644 vs2013/xenbus_monitor/xenbus_monitor.vcxproj create mode 100644 vs2013/xenbus_monitor/xenbus_monitor.vcxproj.user diff --git a/src/coinst/coinst.c b/src/coinst/coinst.c index f8ef92e..66359e0 100644 --- a/src/coinst/coinst.c +++ b/src/coinst/coinst.c @@ -62,6 +62,8 @@ __user_code; #define ENUM_KEY "SYSTEM\\CurrentControlSet\\Enum" +#define MONITOR_NAME "XENBUS_MONITOR" + static VOID #pragma prefast(suppress:6262) // Function uses '1036' bytes of stack: exceeds /analyze:stacksize'1024' __Log( @@ -1465,6 +1467,78 @@ fail1: return FALSE; } +static BOOL +MonitorDelete( + VOID + ) +{ + SC_HANDLE SCManager; + SC_HANDLE Service; + BOOL Success; + SERVICE_STATUS Status; + HRESULT Error; + + Log("====>"); + + SCManager = OpenSCManager(NULL, + NULL, + SC_MANAGER_ALL_ACCESS); + + if (SCManager == NULL) + goto fail1; + + Service = OpenService(SCManager, + MONITOR_NAME, + SERVICE_ALL_ACCESS); + + if (Service == NULL) + goto fail2; + + Success = ControlService(Service, + SERVICE_CONTROL_STOP, + &Status); + + if (!Success) + goto fail3; + + Success = DeleteService(Service); + + if (!Success) + goto fail4; + + CloseServiceHandle(Service); + CloseServiceHandle(SCManager); + + Log("<===="); + + return TRUE; + +fail4: + Log("fail4"); + +fail3: + Log("fail3"); + + CloseServiceHandle(Service); + +fail2: + Log("fail2"); + + CloseServiceHandle(SCManager); + +fail1: + Error = GetLastError(); + + { + PTCHAR Message; + Message = GetErrorMessage(Error); + Log("fail1 (%s)", Message); + LocalFree(Message); + } + + return FALSE; +} + static HRESULT DifInstallPreProcess( IN HDEVINFO DeviceInfoSet, @@ -1628,7 +1702,11 @@ DifRemovePreProcess( UNREFERENCED_PARAMETER(DeviceInfoData); UNREFERENCED_PARAMETER(Context); - Log("<===>"); + Log("====>"); + + (VOID) MonitorDelete(); + + Log("<===="); return NO_ERROR; } diff --git a/src/monitor/messages.mc b/src/monitor/messages.mc new file mode 100644 index 0000000..ab49243 --- /dev/null +++ b/src/monitor/messages.mc @@ -0,0 +1,24 @@ +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=0x1 +Severity=Informational +Facility=System +SymbolicName=MONITOR_LOG +Language=English +%1 +. diff --git a/src/monitor/monitor.c b/src/monitor/monitor.c new file mode 100644 index 0000000..7aeb5d2 --- /dev/null +++ b/src/monitor/monitor.c @@ -0,0 +1,524 @@ +/* Copyright (c) Citrix Systems Inc. + * All rights reserved. + * + * Redistribution and use in source 1and 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 the23 + * 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. + */ + +#include <windows.h> +#include <tchar.h> +#include <stdlib.h> +#include <strsafe.h> + +#include <version.h> + +#include "messages.h" + +#define MONITOR_NAME __MODULE__ +#define MONITOR_DISPLAYNAME MONITOR_NAME + +typedef struct _MONITOR_CONTEXT { + SERVICE_STATUS Status; + SERVICE_STATUS_HANDLE Service; + HANDLE EventLog; + HANDLE StopEvent; +} MONITOR_CONTEXT, *PMONITOR_CONTEXT; + +MONITOR_CONTEXT MonitorContext; + +#define MAXIMUM_BUFFER_SIZE 1024 + +static VOID +#pragma prefast(suppress:6262) // Function uses '1036' bytes of stack: exceeds /analyze:stacksize'1024' +__Log( + IN const CHAR *Format, + IN ... + ) +{ +#if DBG + PMONITOR_CONTEXT Context = &MonitorContext; + const TCHAR *Strings[1]; +#endif + TCHAR Buffer[MAXIMUM_BUFFER_SIZE]; + va_list Arguments; + size_t Length; + HRESULT Result; + + va_start(Arguments, Format); + Result = StringCchVPrintf(Buffer, MAXIMUM_BUFFER_SIZE, Format, Arguments); + va_end(Arguments); + + if (Result != S_OK && Result != STRSAFE_E_INSUFFICIENT_BUFFER) + return; + + Result = StringCchLength(Buffer, MAXIMUM_BUFFER_SIZE, &Length); + if (Result != S_OK) + return; + + Length = __min(MAXIMUM_BUFFER_SIZE - 1, Length + 2); + + __analysis_assume(Length < MAXIMUM_BUFFER_SIZE); + __analysis_assume(Length >= 2); + Buffer[Length] = '\0'; + Buffer[Length - 1] = '\n'; + Buffer[Length - 2] = '\r'; + + OutputDebugString(Buffer); + +#if DBG + Strings[0] = Buffer; + + if (Context->EventLog != NULL) + ReportEvent(Context->EventLog, + EVENTLOG_INFORMATION_TYPE, + 0, + MONITOR_LOG, + NULL, + ARRAYSIZE(Strings), + 0, + Strings, + NULL); +#endif +} + +#define Log(_Format, ...) \ + __Log(__MODULE__ "|" __FUNCTION__ ": " _Format, __VA_ARGS__) + +static PTCHAR +GetErrorMessage( + IN HRESULT Error + ) +{ + PTCHAR Message; + ULONG Index; + + FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | + FORMAT_MESSAGE_FROM_SYSTEM | + FORMAT_MESSAGE_IGNORE_INSERTS, + NULL, + Error, + MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), + (LPTSTR)&Message, + 0, + NULL); + + for (Index = 0; Message[Index] != '\0'; Index++) { + if (Message[Index] == '\r' || Message[Index] == '\n') { + Message[Index] = '\0'; + break; + } + } + + return Message; +} + +static const CHAR * +ServiceStateName( + IN DWORD State + ) +{ +#define _STATE_NAME(_State) \ + case SERVICE_ ## _State: \ + return #_State + + switch (State) { + _STATE_NAME(START_PENDING); + _STATE_NAME(RUNNING); + _STATE_NAME(STOP_PENDING); + _STATE_NAME(STOPPED); + default: + break; + } + + return "UNKNOWN"; + +#undef _STATE_NAME +} + +static VOID +ReportStatus( + IN DWORD CurrentState, + IN DWORD Win32ExitCode, + IN DWORD WaitHint) +{ + PMONITOR_CONTEXT Context = &MonitorContext; + static DWORD CheckPoint = 1; + BOOL Success; + HRESULT Error; + + Log("====> (%s)", ServiceStateName(CurrentState)); + + Context->Status.dwCurrentState = CurrentState; + Context->Status.dwWin32ExitCode = Win32ExitCode; + Context->Status.dwWaitHint = WaitHint; + + if (CurrentState == SERVICE_START_PENDING) + Context->Status.dwControlsAccepted = 0; + else + Context->Status.dwControlsAccepted = SERVICE_ACCEPT_STOP | + SERVICE_ACCEPT_SHUTDOWN; + + if (CurrentState == SERVICE_RUNNING || + CurrentState == SERVICE_STOPPED ) + Context->Status.dwCheckPoint = 0; + else + Context->Status.dwCheckPoint = CheckPoint++; + + Success = SetServiceStatus(Context->Service, &Context->Status); + + if (!Success) + goto fail1; + + Log("<===="); + + return; + +fail1: + Error = GetLastError(); + + { + PTCHAR Message; + Message = GetErrorMessage(Error); + Log("fail1 (%s)", Message); + LocalFree(Message); + } +} + +DWORD WINAPI +MonitorCtrlHandlerEx( + IN DWORD Ctrl, + IN DWORD EventType, + IN LPVOID EventData, + IN LPVOID Argument + ) +{ + PMONITOR_CONTEXT Context = &MonitorContext; + + UNREFERENCED_PARAMETER(EventType); + UNREFERENCED_PARAMETER(EventData); + UNREFERENCED_PARAMETER(Argument); + + switch (Ctrl) { + case SERVICE_CONTROL_STOP: + case SERVICE_CONTROL_SHUTDOWN: + ReportStatus(SERVICE_STOP_PENDING, NO_ERROR, 0); + SetEvent(Context->StopEvent); + return NO_ERROR; + + case SERVICE_CONTROL_INTERROGATE: + ReportStatus(SERVICE_RUNNING, NO_ERROR, 0); + return NO_ERROR; + + default: + break; + } + + ReportStatus(SERVICE_RUNNING, NO_ERROR, 0); + return ERROR_CALL_NOT_IMPLEMENTED; +} + +VOID WINAPI +MonitorMain( + _In_ DWORD argc, + _In_ LPTSTR *argv + ) +{ + PMONITOR_CONTEXT Context = &MonitorContext; + HRESULT Error; + + UNREFERENCED_PARAMETER(argc); + UNREFERENCED_PARAMETER(argv); + + Log("====>"); + + Context->Service = RegisterServiceCtrlHandlerEx(MONITOR_NAME, + MonitorCtrlHandlerEx, + NULL); + if (Context->Service == NULL) + goto fail1; + + Context->EventLog = RegisterEventSource(NULL, + MONITOR_NAME); + if (Context->EventLog == NULL) + goto fail2; + + Context->Status.dwServiceType = SERVICE_WIN32_OWN_PROCESS; + Context->Status.dwServiceSpecificExitCode = 0; + + ReportStatus(SERVICE_START_PENDING, NO_ERROR, 3000); + + Context->StopEvent = CreateEvent(NULL, + TRUE, + FALSE, + NULL); + + if (Context->StopEvent == NULL) + goto fail3; + + ReportStatus(SERVICE_RUNNING, NO_ERROR, 0); + + for (;;) { + Log("waiting..."); + WaitForSingleObject(Context->StopEvent, INFINITE); + Log("awake"); + + break; + } + + CloseHandle(Context->StopEvent); + + ReportStatus(SERVICE_STOPPED, NO_ERROR, 0); + + (VOID) DeregisterEventSource(Context->EventLog); + + Log("<===="); + + return; + +fail3: + Log("fail3"); + + ReportStatus(SERVICE_STOPPED, GetLastError(), 0); + + (VOID) DeregisterEventSource(Context->EventLog); + +fail2: + Log("fail2"); + +fail1: + Error = GetLastError(); + + { + PTCHAR Message; + Message = GetErrorMessage(Error); + Log("fail1 (%s)", Message); + LocalFree(Message); + } +} + +static BOOL +MonitorCreate( + VOID + ) +{ + SC_HANDLE SCManager; + SC_HANDLE Service; + TCHAR Path[MAX_PATH]; + HRESULT Error; + + Log("====>"); + + if(!GetModuleFileName(NULL, Path, MAX_PATH)) + goto fail1; + + SCManager = OpenSCManager(NULL, + NULL, + SC_MANAGER_ALL_ACCESS); + + if (SCManager == NULL) + goto fail2; + + Service = CreateService(SCManager, + MONITOR_NAME, + MONITOR_DISPLAYNAME, + SERVICE_ALL_ACCESS, + SERVICE_WIN32_OWN_PROCESS, + SERVICE_AUTO_START, + SERVICE_ERROR_NORMAL, + Path, + NULL, + NULL, + NULL, + NULL, + NULL); + + if (Service == NULL) + goto fail3; + + CloseServiceHandle(Service); + CloseServiceHandle(SCManager); + + Log("<===="); + + return TRUE; + +fail3: + Log("fail3"); + + CloseServiceHandle(SCManager); + +fail2: + Log("fail2"); + +fail1: + Error = GetLastError(); + + { + PTCHAR Message; + Message = GetErrorMessage(Error); + Log("fail1 (%s)", Message); + LocalFree(Message); + } + + return FALSE; +} + +static BOOL +MonitorDelete( + VOID + ) +{ + SC_HANDLE SCManager; + SC_HANDLE Service; + BOOL Success; + SERVICE_STATUS Status; + HRESULT Error; + + Log("====>"); + + SCManager = OpenSCManager(NULL, + NULL, + SC_MANAGER_ALL_ACCESS); + + if (SCManager == NULL) + goto fail1; + + Service = OpenService(SCManager, + MONITOR_NAME, + SERVICE_ALL_ACCESS); + + if (Service == NULL) + goto fail2; + + Success = ControlService(Service, + SERVICE_CONTROL_STOP, + &Status); + + if (!Success) + goto fail3; + + Success = DeleteService(Service); + + if (!Success) + goto fail4; + + CloseServiceHandle(Service); + CloseServiceHandle(SCManager); + + Log("<===="); + + return TRUE; + +fail4: + Log("fail4"); + +fail3: + Log("fail3"); + + CloseServiceHandle(Service); + +fail2: + Log("fail2"); + + CloseServiceHandle(SCManager); + +fail1: + Error = GetLastError(); + + { + PTCHAR Message; + Message = GetErrorMessage(Error); + Log("fail1 (%s)", Message); + LocalFree(Message); + } + + return FALSE; +} + +static BOOL +MonitorEntry( + VOID + ) +{ + SERVICE_TABLE_ENTRY Table[] = { + { MONITOR_NAME, MonitorMain }, + { NULL, NULL } + }; + HRESULT Error; + + Log("%s (%s) ====>", + MAJOR_VERSION_STR "." MINOR_VERSION_STR "." MICRO_VERSION_STR "." BUILD_NUMBER_STR, + DAY_STR "/" MONTH_STR "/" YEAR_STR); + + if (!StartServiceCtrlDispatcher(Table)) + goto fail1; + + Log("%s (%s) <====", + MAJOR_VERSION_STR "." MINOR_VERSION_STR "." MICRO_VERSION_STR "." BUILD_NUMBER_STR, + DAY_STR "/" MONTH_STR "/" YEAR_STR); + + return TRUE; + +fail1: + Error = GetLastError(); + + { + PTCHAR Message; + Message = GetErrorMessage(Error); + Log("fail1 (%s)", Message); + LocalFree(Message); + } + + return FALSE; +} + +int CALLBACK +_tWinMain( + _In_ HINSTANCE Current, + _In_opt_ HINSTANCE Previous, + _In_ LPSTR CmdLine, + _In_ int CmdShow + ) +{ + BOOL Success; + + UNREFERENCED_PARAMETER(Current); + UNREFERENCED_PARAMETER(Previous); + UNREFERENCED_PARAMETER(CmdShow); + + if (_tcslen(CmdLine) != 0) { + if (_tcsicmp(CmdLine, TEXT("create")) == 0) + Success = MonitorCreate(); + else if (_tcsicmp(CmdLine, TEXT("delete")) == 0) + Success = MonitorDelete(); + else + Success = FALSE; + } else + Success = MonitorEntry(); + + return Success ? 0 : 1; +} diff --git a/src/monitor/xenbus_monitor.rc b/src/monitor/xenbus_monitor.rc new file mode 100644 index 0000000..1948657 --- /dev/null +++ b/src/monitor/xenbus_monitor.rc @@ -0,0 +1,57 @@ +/* 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. + */ + + +#include <windows.h> +#include <ntverp.h> + +#undef VER_COMPANYNAME_STR +#undef VER_PRODUCTNAME_STR +#undef VER_PRODUCTVERSION +#undef VER_PRODUCTVERSION_STR + +#include <version.h> + +#define VER_COMPANYNAME_STR VENDOR_NAME_STR +#define VER_LEGALCOPYRIGHT_STR "Copyright (c) Citrix Systems Inc." + +#define VER_PRODUCTNAME_STR "XENBUS" +#define VER_PRODUCTVERSION MAJOR_VERSION,MINOR_VERSION,MICRO_VERSION,BUILD_NUMBER +#define VER_PRODUCTVERSION_STR MAJOR_VERSION_STR "." MINOR_VERSION_STR "." MICRO_VERSION_STR "." BUILD_NUMBER_STR + +#define VER_INTERNALNAME_STR "XENBUS_MONITOR.EXE" +#define VER_FILEDESCRIPTION_STR "XENBUS_MONITOR" + +#define VER_FILETYPE VFT_APP +#define VER_FILESUBTYPE VFT2_UNKNOWN + +#include "common.ver" +#include "messages.rc" diff --git a/src/xenbus.inf b/src/xenbus.inf index 7ece951..ddc1c45 100644 --- a/src/xenbus.inf +++ b/src/xenbus.inf @@ -35,10 +35,12 @@ ClassGUID={4d36e97d-e325-11ce-bfc1-08002be10318} Provider=%Vendor% CatalogFile=xenbus.cat DriverVer=01/01/1900,0.0.0.0 +DriverPackageDisplayName=%DiskDesc% [DestinationDirs] DefaultDestDir=12 CoInst_CopyFiles=11 +Monitor_CopyFiles=11 [SourceDisksNames] 0=%DiskDesc% @@ -48,8 +50,10 @@ xen.sys=0,, xenbus.sys=0,, xenfilt.sys=0,, xenbus_coinst.dll=0,, +xenbus_monitor.exe=0,, +xenbus_monitor.dll=0,, -[XenBus_Copyfiles] +[XenBus_CopyFiles] xen.sys xenbus.sys xenfilt.sys @@ -57,6 +61,10 @@ xenfilt.sys [CoInst_CopyFiles] xenbus_coinst_@MAJOR_VERSION@_@MINOR_VERSION@_@MICRO_VERSION@_@BUILD_NUMBER@.dll,xenbus_coinst.dll +[Monitor_CopyFiles] +xenbus_monitor_@MAJOR_VERSION@_@MINOR_VERSION@_@MICRO_VERSION@_@BUILD_NUMBER@.exe,xenbus_monitor.exe +xenbus_monitor_@MAJOR_VERSION@_@MINOR_VERSION@_@MICRO_VERSION@_@BUILD_NUMBER@.dll,xenbus_monitor.dll + [Manufacturer] %Vendor%=Inst,NT$ARCH$ @@ -69,11 +77,13 @@ xenbus_coinst_@MAJOR_VERSION@_@MINOR_VERSION@_@MICRO_VERSION@_@BUILD_NUMBER@.dll %XenBusDesc% =XenBus_Inst, PCI\VEN_5853&DEV_0001 [XenBus_Inst] -CopyFiles=XenBus_Copyfiles +CopyFiles=XenBus_CopyFiles +CopyFiles=Monitor_CopyFiles [XenBus_Inst.Services] -AddService=xenbus,0x02,XenBus_Service +AddService=xenbus,%SPSVCINST_ASSOCSERVICE%,XenBus_Service AddService=xenfilt,,XenFilt_Service, +AddService=xenbus_monitor,%SPSVCSINST_STARTSERVICE%,Monitor_Service,Monitor_EventLog [XenBus_Service] DisplayName=%XenBusDesc% @@ -109,6 +119,24 @@ HKR,"Parameters",,0x00000010 HKR,"Parameters","ACPI\PNP0A03",0x00000000,"DEVICE" HKR,"Parameters","PCIIDE\IDEChannel",0x00000000,"DISK" +[Monitor_Service] +DisplayName=%MonitorDesc% +ServiceType=%SERVICE_WIN32_OWN_PROCESS% +StartType=%SERVICE_AUTO_START% +ErrorControl=%SERVICE_ERROR_NORMAL% +ServiceBinary=%11%\xenbus_monitor_@MAJOR_VERSION@_@MINOR_VERSION@_@MICRO_VERSION@_@BUILD_NUMBER@.exe +AddReg = Monitor_Request + +[Monitor_Request] +HKR,"Request",,0x00000010 + +[Monitor_EventLog] +AddReg=Monitor_EventLog_AddReg + +[Monitor_EventLog_AddReg] +HKR,,EventMessageFile,0x00020000,"%%SystemRoot%%\System32\xenbus_monitor_@MAJOR_VERSION@_@MINOR_VERSION@_@MICRO_VERSION@_@BUILD_NUMBER@.dll" +HKR,,TypesSupported,0x00010001,7 + [XenBus_Inst.CoInstallers] CopyFiles=CoInst_CopyFiles AddReg=CoInst_AddReg @@ -122,6 +150,7 @@ Vendor="@VENDOR_NAME@" DiskDesc="@PRODUCT_NAME@ PV Bus Package" XenBusDesc="@PRODUCT_NAME@ PV Bus" XenFiltDesc="@PRODUCT_NAME@ Generic Bus Filter" +MonitorDesc="@PRODUCT_NAME@ PV Driver Monitor" SERVICE_BOOT_START=0x0 SERVICE_SYSTEM_START=0x1 @@ -129,8 +158,12 @@ SERVICE_AUTO_START=0x2 SERVICE_DEMAND_START=0x3 SERVICE_DISABLED=0x4 +SERVICE_WIN32_OWN_PROCESS=0x10 SERVICE_KERNEL_DRIVER=0x1 SERVICE_ERROR_IGNORE=0x0 SERVICE_ERROR_NORMAL=0x1 SERVICE_ERROR_SEVERE=0x2 SERVICE_ERROR_CRITICAL=0x3 + +SPSVCINST_ASSOCSERVICE=0x00000002 +SPSVCSINST_STARTSERVICE=0x00000800 diff --git a/vs2012/package/package.vcxproj b/vs2012/package/package.vcxproj index ee60bdb..b600a93 100644 --- a/vs2012/package/package.vcxproj +++ b/vs2012/package/package.vcxproj @@ -49,6 +49,9 @@ <ProjectReference Include="..\xen\xen.vcxproj"> <Project>{9c6a5d48-a331-4b1f-a004-7bb67ba5be1c}</Project> </ProjectReference> + <ProjectReference Include="..\xenbus_monitor\xenbus_monitor.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/xenbus.sln b/vs2012/xenbus.sln index 626fd85..eb3d03a 100644 --- a/vs2012/xenbus.sln +++ b/vs2012/xenbus.sln @@ -1,5 +1,9 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 2012 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenbus_coinst", "xenbus_coinst\xenbus_coinst.vcxproj", "{4BF41378-C01B-4002-8581-563C5F703362}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenbus_monitor", "xenbus_monitor\xenbus_monitor.vcxproj", "{2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}" +EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xen", "xen\xen.vcxproj", "{9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenfilt", "xenfilt\xenfilt.vcxproj", "{D7411B2C-2C43-434D-9F56-E10A3D2F5BAD}" @@ -7,11 +11,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenfilt", "xenfilt\xenfilt. {9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C} = {9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenbus_coinst", "xenbus_coinst\xenbus_coinst.vcxproj", "{4BF41378-C01B-4002-8581-563C5F703362}" - ProjectSection(ProjectDependencies) = postProject - {9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C} = {9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C} - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenbus", "xenbus\xenbus.vcxproj", "{14C16C29-77C9-475B-A618-1B01E67CF985}" ProjectSection(ProjectDependencies) = postProject {9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C} = {9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C} @@ -23,6 +22,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "package", "package\package. {D7411B2C-2C43-434D-9F56-E10A3D2F5BAD} = {D7411B2C-2C43-434D-9F56-E10A3D2F5BAD} {9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C} = {9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C} {4BF41378-C01B-4002-8581-563C5F703362} = {4BF41378-C01B-4002-8581-563C5F703362} + {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B} = {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B} EndProjectSection EndProject Global @@ -41,6 +41,54 @@ Global Windows Vista Release|x64 = Windows Vista Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {4BF41378-C01B-4002-8581-563C5F703362}.Windows 7 Debug|Win32.ActiveCfg = Windows 7 Debug|Win32 + {4BF41378-C01B-4002-8581-563C5F703362}.Windows 7 Debug|Win32.Build.0 = Windows 7 Debug|Win32 + {4BF41378-C01B-4002-8581-563C5F703362}.Windows 7 Debug|x64.ActiveCfg = Windows 7 Debug|x64 + {4BF41378-C01B-4002-8581-563C5F703362}.Windows 7 Debug|x64.Build.0 = Windows 7 Debug|x64 + {4BF41378-C01B-4002-8581-563C5F703362}.Windows 7 Release|Win32.ActiveCfg = Windows 7 Release|Win32 + {4BF41378-C01B-4002-8581-563C5F703362}.Windows 7 Release|Win32.Build.0 = Windows 7 Release|Win32 + {4BF41378-C01B-4002-8581-563C5F703362}.Windows 7 Release|x64.ActiveCfg = Windows 7 Release|x64 + {4BF41378-C01B-4002-8581-563C5F703362}.Windows 7 Release|x64.Build.0 = Windows 7 Release|x64 + {4BF41378-C01B-4002-8581-563C5F703362}.Windows 8 Debug|Win32.ActiveCfg = Windows 8 Debug|Win32 + {4BF41378-C01B-4002-8581-563C5F703362}.Windows 8 Debug|Win32.Build.0 = Windows 8 Debug|Win32 + {4BF41378-C01B-4002-8581-563C5F703362}.Windows 8 Debug|x64.ActiveCfg = Windows 8 Debug|x64 + {4BF41378-C01B-4002-8581-563C5F703362}.Windows 8 Debug|x64.Build.0 = Windows 8 Debug|x64 + {4BF41378-C01B-4002-8581-563C5F703362}.Windows 8 Release|Win32.ActiveCfg = Windows 8 Release|Win32 + {4BF41378-C01B-4002-8581-563C5F703362}.Windows 8 Release|Win32.Build.0 = Windows 8 Release|Win32 + {4BF41378-C01B-4002-8581-563C5F703362}.Windows 8 Release|x64.ActiveCfg = Windows 8 Release|x64 + {4BF41378-C01B-4002-8581-563C5F703362}.Windows 8 Release|x64.Build.0 = Windows 8 Release|x64 + {4BF41378-C01B-4002-8581-563C5F703362}.Windows Vista Debug|Win32.ActiveCfg = Windows Vista Debug|Win32 + {4BF41378-C01B-4002-8581-563C5F703362}.Windows Vista Debug|Win32.Build.0 = Windows Vista Debug|Win32 + {4BF41378-C01B-4002-8581-563C5F703362}.Windows Vista Debug|x64.ActiveCfg = Windows Vista Debug|x64 + {4BF41378-C01B-4002-8581-563C5F703362}.Windows Vista Debug|x64.Build.0 = Windows Vista Debug|x64 + {4BF41378-C01B-4002-8581-563C5F703362}.Windows Vista Release|Win32.ActiveCfg = Windows Vista Release|Win32 + {4BF41378-C01B-4002-8581-563C5F703362}.Windows Vista Release|Win32.Build.0 = Windows Vista Release|Win32 + {4BF41378-C01B-4002-8581-563C5F703362}.Windows Vista Release|x64.ActiveCfg = Windows Vista Release|x64 + {4BF41378-C01B-4002-8581-563C5F703362}.Windows Vista Release|x64.Build.0 = Windows Vista 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 {9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C}.Windows 7 Debug|Win32.ActiveCfg = Windows 7 Debug|Win32 {9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C}.Windows 7 Debug|Win32.Build.0 = Windows 7 Debug|Win32 {9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C}.Windows 7 Debug|x64.ActiveCfg = Windows 7 Debug|x64 @@ -89,30 +137,6 @@ Global {D7411B2C-2C43-434D-9F56-E10A3D2F5BAD}.Windows Vista Release|Win32.Build.0 = Windows Vista Release|Win32 {D7411B2C-2C43-434D-9F56-E10A3D2F5BAD}.Windows Vista Release|x64.ActiveCfg = Windows Vista Release|x64 {D7411B2C-2C43-434D-9F56-E10A3D2F5BAD}.Windows Vista Release|x64.Build.0 = Windows Vista Release|x64 - {4BF41378-C01B-4002-8581-563C5F703362}.Windows 7 Debug|Win32.ActiveCfg = Windows 7 Debug|Win32 - {4BF41378-C01B-4002-8581-563C5F703362}.Windows 7 Debug|Win32.Build.0 = Windows 7 Debug|Win32 - {4BF41378-C01B-4002-8581-563C5F703362}.Windows 7 Debug|x64.ActiveCfg = Windows 7 Debug|x64 - {4BF41378-C01B-4002-8581-563C5F703362}.Windows 7 Debug|x64.Build.0 = Windows 7 Debug|x64 - {4BF41378-C01B-4002-8581-563C5F703362}.Windows 7 Release|Win32.ActiveCfg = Windows 7 Release|Win32 - {4BF41378-C01B-4002-8581-563C5F703362}.Windows 7 Release|Win32.Build.0 = Windows 7 Release|Win32 - {4BF41378-C01B-4002-8581-563C5F703362}.Windows 7 Release|x64.ActiveCfg = Windows 7 Release|x64 - {4BF41378-C01B-4002-8581-563C5F703362}.Windows 7 Release|x64.Build.0 = Windows 7 Release|x64 - {4BF41378-C01B-4002-8581-563C5F703362}.Windows 8 Debug|Win32.ActiveCfg = Windows 8 Debug|Win32 - {4BF41378-C01B-4002-8581-563C5F703362}.Windows 8 Debug|Win32.Build.0 = Windows 8 Debug|Win32 - {4BF41378-C01B-4002-8581-563C5F703362}.Windows 8 Debug|x64.ActiveCfg = Windows 8 Debug|x64 - {4BF41378-C01B-4002-8581-563C5F703362}.Windows 8 Debug|x64.Build.0 = Windows 8 Debug|x64 - {4BF41378-C01B-4002-8581-563C5F703362}.Windows 8 Release|Win32.ActiveCfg = Windows 8 Release|Win32 - {4BF41378-C01B-4002-8581-563C5F703362}.Windows 8 Release|Win32.Build.0 = Windows 8 Release|Win32 - {4BF41378-C01B-4002-8581-563C5F703362}.Windows 8 Release|x64.ActiveCfg = Windows 8 Release|x64 - {4BF41378-C01B-4002-8581-563C5F703362}.Windows 8 Release|x64.Build.0 = Windows 8 Release|x64 - {4BF41378-C01B-4002-8581-563C5F703362}.Windows Vista Debug|Win32.ActiveCfg = Windows Vista Debug|Win32 - {4BF41378-C01B-4002-8581-563C5F703362}.Windows Vista Debug|Win32.Build.0 = Windows Vista Debug|Win32 - {4BF41378-C01B-4002-8581-563C5F703362}.Windows Vista Debug|x64.ActiveCfg = Windows Vista Debug|x64 - {4BF41378-C01B-4002-8581-563C5F703362}.Windows Vista Debug|x64.Build.0 = Windows Vista Debug|x64 - {4BF41378-C01B-4002-8581-563C5F703362}.Windows Vista Release|Win32.ActiveCfg = Windows Vista Release|Win32 - {4BF41378-C01B-4002-8581-563C5F703362}.Windows Vista Release|Win32.Build.0 = Windows Vista Release|Win32 - {4BF41378-C01B-4002-8581-563C5F703362}.Windows Vista Release|x64.ActiveCfg = Windows Vista Release|x64 - {4BF41378-C01B-4002-8581-563C5F703362}.Windows Vista Release|x64.Build.0 = Windows Vista Release|x64 {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 7 Debug|Win32.ActiveCfg = Windows 7 Debug|Win32 {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 7 Debug|Win32.Build.0 = Windows 7 Debug|Win32 {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 7 Debug|x64.ActiveCfg = Windows 7 Debug|x64 diff --git a/vs2012/xenbus_monitor/xenbus_monitor.vcxproj b/vs2012/xenbus_monitor/xenbus_monitor.vcxproj new file mode 100644 index 0000000..2d8f801 --- /dev/null +++ b/vs2012/xenbus_monitor/xenbus_monitor.vcxproj @@ -0,0 +1,82 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="..\configs.props" /> + <PropertyGroup Label="PropertySheets"> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>WindowsApplicationForDrivers8.0</PlatformToolset> + <ConfigurationType>Application</ConfigurationType> + </PropertyGroup> + <PropertyGroup Label="Globals"> + <Configuration>Windows Vista Debug</Configuration> + <Platform Condition="'$(Platform)' == ''">Win32</Platform> + <DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor> + </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__="XENBUS_MONITOR";%(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> + <AdditionalDependencies>wtsapi32.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\monitor\messages.mc" /> + </ItemGroup> + <ItemGroup> + <ClCompile Include="..\..\src\monitor\monitor.c" /> + </ItemGroup> + <ItemGroup> + <ResourceCompile Include="..\..\src\monitor\xenbus_monitor.rc" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> +</Project> \ No newline at end of file diff --git a/vs2012/xenbus_monitor/xenbus_monitor.vcxproj.user b/vs2012/xenbus_monitor/xenbus_monitor.vcxproj.user new file mode 100644 index 0000000..88ecce8 --- /dev/null +++ b/vs2012/xenbus_monitor/xenbus_monitor.vcxproj.user @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <SignMode>TestSign</SignMode> + <TestCertificate>..\..\src\xenbus.pfx</TestCertificate> + <TimeStampServer>http://timestamp.verisign.com/scripts/timstamp.dll</TimeStampServer> + </PropertyGroup> +</Project> diff --git a/vs2013/package/package.vcxproj b/vs2013/package/package.vcxproj index ae1c230..c3a6cce 100644 --- a/vs2013/package/package.vcxproj +++ b/vs2013/package/package.vcxproj @@ -50,6 +50,9 @@ <ProjectReference Include="..\xen\xen.vcxproj"> <Project>{9c6a5d48-a331-4b1f-a004-7bb67ba5be1c}</Project> </ProjectReference> + <ProjectReference Include="..\xenbus_monitor\xenbus_monitor.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/xenbus.sln b/vs2013/xenbus.sln index 00c21f9..01042c6 100644 --- a/vs2013/xenbus.sln +++ b/vs2013/xenbus.sln @@ -1,5 +1,11 @@ Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 11 +# Visual Studio Express 2013 for Windows Desktop +VisualStudioVersion = 12.0.30723.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenbus_coinst", "xenbus_coinst\xenbus_coinst.vcxproj", "{4BF41378-C01B-4002-8581-563C5F703362}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenbus_monitor", "xenbus_monitor\xenbus_monitor.vcxproj", "{2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}" +EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xen", "xen\xen.vcxproj", "{9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenfilt", "xenfilt\xenfilt.vcxproj", "{D7411B2C-2C43-434D-9F56-E10A3D2F5BAD}" @@ -7,11 +13,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenfilt", "xenfilt\xenfilt. {9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C} = {9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenbus_coinst", "xenbus_coinst\xenbus_coinst.vcxproj", "{4BF41378-C01B-4002-8581-563C5F703362}" - ProjectSection(ProjectDependencies) = postProject - {9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C} = {9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C} - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenbus", "xenbus\xenbus.vcxproj", "{14C16C29-77C9-475B-A618-1B01E67CF985}" ProjectSection(ProjectDependencies) = postProject {9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C} = {9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C} @@ -23,6 +24,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "package", "package\package. {4BF41378-C01B-4002-8581-563C5F703362} = {4BF41378-C01B-4002-8581-563C5F703362} {9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C} = {9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C} {D7411B2C-2C43-434D-9F56-E10A3D2F5BAD} = {D7411B2C-2C43-434D-9F56-E10A3D2F5BAD} + {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B} = {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B} EndProjectSection EndProject Global @@ -41,30 +43,6 @@ Global Windows Vista Release|x64 = Windows Vista Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 7 Debug|Win32.ActiveCfg = Windows 7 Debug|Win32 - {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 7 Debug|Win32.Build.0 = Windows 7 Debug|Win32 - {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 7 Debug|x64.ActiveCfg = Windows 7 Debug|x64 - {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 7 Debug|x64.Build.0 = Windows 7 Debug|x64 - {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 7 Release|Win32.ActiveCfg = Windows 7 Release|Win32 - {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 7 Release|Win32.Build.0 = Windows 7 Release|Win32 - {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 7 Release|x64.ActiveCfg = Windows 7 Release|x64 - {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 7 Release|x64.Build.0 = Windows 7 Release|x64 - {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 8 Debug|Win32.ActiveCfg = Windows 8 Debug|Win32 - {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 8 Debug|Win32.Build.0 = Windows 8 Debug|Win32 - {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 8 Debug|x64.ActiveCfg = Windows 8 Debug|x64 - {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 8 Debug|x64.Build.0 = Windows 8 Debug|x64 - {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 8 Release|Win32.ActiveCfg = Windows 8 Release|Win32 - {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 8 Release|Win32.Build.0 = Windows 8 Release|Win32 - {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 8 Release|x64.ActiveCfg = Windows 8 Release|x64 - {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 8 Release|x64.Build.0 = Windows 8 Release|x64 - {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows Vista Debug|Win32.ActiveCfg = Windows Vista Debug|Win32 - {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows Vista Debug|Win32.Build.0 = Windows Vista Debug|Win32 - {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows Vista Debug|x64.ActiveCfg = Windows Vista Debug|x64 - {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows Vista Debug|x64.Build.0 = Windows Vista Debug|x64 - {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows Vista Release|Win32.ActiveCfg = Windows Vista Release|Win32 - {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows Vista Release|Win32.Build.0 = Windows Vista Release|Win32 - {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows Vista Release|x64.ActiveCfg = Windows Vista Release|x64 - {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows Vista Release|x64.Build.0 = Windows Vista Release|x64 {4BF41378-C01B-4002-8581-563C5F703362}.Windows 7 Debug|Win32.ActiveCfg = Windows 7 Debug|Win32 {4BF41378-C01B-4002-8581-563C5F703362}.Windows 7 Debug|Win32.Build.0 = Windows 7 Debug|Win32 {4BF41378-C01B-4002-8581-563C5F703362}.Windows 7 Debug|x64.ActiveCfg = Windows 7 Debug|x64 @@ -89,42 +67,42 @@ Global {4BF41378-C01B-4002-8581-563C5F703362}.Windows Vista Release|Win32.Build.0 = Windows Vista Release|Win32 {4BF41378-C01B-4002-8581-563C5F703362}.Windows Vista Release|x64.ActiveCfg = Windows Vista Release|x64 {4BF41378-C01B-4002-8581-563C5F703362}.Windows Vista Release|x64.Build.0 = Windows Vista Release|x64 - {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 7 Debug|Win32.ActiveCfg = Windows 7 Debug|Win32 - {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 7 Debug|Win32.Build.0 = Windows 7 Debug|Win32 - {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 7 Debug|Win32.Deploy.0 = Windows 7 Debug|Win32 - {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 7 Debug|x64.ActiveCfg = Windows 7 Debug|x64 - {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 7 Debug|x64.Build.0 = Windows 7 Debug|x64 - {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 7 Debug|x64.Deploy.0 = Windows 7 Debug|x64 - {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 7 Release|Win32.ActiveCfg = Windows 7 Release|Win32 - {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 7 Release|Win32.Build.0 = Windows 7 Release|Win32 - {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 7 Release|Win32.Deploy.0 = Windows 7 Release|Win32 - {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 7 Release|x64.ActiveCfg = Windows 7 Release|x64 - {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 7 Release|x64.Build.0 = Windows 7 Release|x64 - {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 7 Release|x64.Deploy.0 = Windows 7 Release|x64 - {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 8 Debug|Win32.ActiveCfg = Windows 8 Debug|Win32 - {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 8 Debug|Win32.Build.0 = Windows 8 Debug|Win32 - {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 8 Debug|Win32.Deploy.0 = Windows 8 Debug|Win32 - {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 8 Debug|x64.ActiveCfg = Windows 8 Debug|x64 - {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 8 Debug|x64.Build.0 = Windows 8 Debug|x64 - {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 8 Debug|x64.Deploy.0 = Windows 8 Debug|x64 - {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 8 Release|Win32.ActiveCfg = Windows 8 Release|Win32 - {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 8 Release|Win32.Build.0 = Windows 8 Release|Win32 - {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 8 Release|Win32.Deploy.0 = Windows 8 Release|Win32 - {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 8 Release|x64.ActiveCfg = Windows 8 Release|x64 - {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 8 Release|x64.Build.0 = Windows 8 Release|x64 - {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 8 Release|x64.Deploy.0 = Windows 8 Release|x64 - {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows Vista Debug|Win32.ActiveCfg = Windows Vista Debug|Win32 - {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows Vista Debug|Win32.Build.0 = Windows Vista Debug|Win32 - {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows Vista Debug|Win32.Deploy.0 = Windows Vista Debug|Win32 - {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows Vista Debug|x64.ActiveCfg = Windows Vista Debug|x64 - {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows Vista Debug|x64.Build.0 = Windows Vista Debug|x64 - {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows Vista Debug|x64.Deploy.0 = Windows Vista Debug|x64 - {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows Vista Release|Win32.ActiveCfg = Windows Vista Release|Win32 - {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows Vista Release|Win32.Build.0 = Windows Vista Release|Win32 - {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows Vista Release|Win32.Deploy.0 = Windows Vista Release|Win32 - {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows Vista Release|x64.ActiveCfg = Windows Vista Release|x64 - {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows Vista Release|x64.Build.0 = Windows Vista Release|x64 - {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows Vista Release|x64.Deploy.0 = Windows Vista 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 {9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C}.Windows 7 Debug|Win32.ActiveCfg = Windows 7 Debug|Win32 {9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C}.Windows 7 Debug|Win32.Build.0 = Windows 7 Debug|Win32 {9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C}.Windows 7 Debug|x64.ActiveCfg = Windows 7 Debug|x64 @@ -173,6 +151,66 @@ Global {D7411B2C-2C43-434D-9F56-E10A3D2F5BAD}.Windows Vista Release|Win32.Build.0 = Windows Vista Release|Win32 {D7411B2C-2C43-434D-9F56-E10A3D2F5BAD}.Windows Vista Release|x64.ActiveCfg = Windows Vista Release|x64 {D7411B2C-2C43-434D-9F56-E10A3D2F5BAD}.Windows Vista Release|x64.Build.0 = Windows Vista Release|x64 + {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 7 Debug|Win32.ActiveCfg = Windows 7 Debug|Win32 + {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 7 Debug|Win32.Build.0 = Windows 7 Debug|Win32 + {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 7 Debug|x64.ActiveCfg = Windows 7 Debug|x64 + {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 7 Debug|x64.Build.0 = Windows 7 Debug|x64 + {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 7 Release|Win32.ActiveCfg = Windows 7 Release|Win32 + {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 7 Release|Win32.Build.0 = Windows 7 Release|Win32 + {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 7 Release|x64.ActiveCfg = Windows 7 Release|x64 + {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 7 Release|x64.Build.0 = Windows 7 Release|x64 + {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 8 Debug|Win32.ActiveCfg = Windows 8 Debug|Win32 + {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 8 Debug|Win32.Build.0 = Windows 8 Debug|Win32 + {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 8 Debug|x64.ActiveCfg = Windows 8 Debug|x64 + {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 8 Debug|x64.Build.0 = Windows 8 Debug|x64 + {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 8 Release|Win32.ActiveCfg = Windows 8 Release|Win32 + {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 8 Release|Win32.Build.0 = Windows 8 Release|Win32 + {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 8 Release|x64.ActiveCfg = Windows 8 Release|x64 + {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 8 Release|x64.Build.0 = Windows 8 Release|x64 + {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows Vista Debug|Win32.ActiveCfg = Windows Vista Debug|Win32 + {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows Vista Debug|Win32.Build.0 = Windows Vista Debug|Win32 + {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows Vista Debug|x64.ActiveCfg = Windows Vista Debug|x64 + {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows Vista Debug|x64.Build.0 = Windows Vista Debug|x64 + {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows Vista Release|Win32.ActiveCfg = Windows Vista Release|Win32 + {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows Vista Release|Win32.Build.0 = Windows Vista Release|Win32 + {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows Vista Release|x64.ActiveCfg = Windows Vista Release|x64 + {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows Vista Release|x64.Build.0 = Windows Vista Release|x64 + {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 7 Debug|Win32.ActiveCfg = Windows 7 Debug|Win32 + {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 7 Debug|Win32.Build.0 = Windows 7 Debug|Win32 + {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 7 Debug|Win32.Deploy.0 = Windows 7 Debug|Win32 + {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 7 Debug|x64.ActiveCfg = Windows 7 Debug|x64 + {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 7 Debug|x64.Build.0 = Windows 7 Debug|x64 + {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 7 Debug|x64.Deploy.0 = Windows 7 Debug|x64 + {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 7 Release|Win32.ActiveCfg = Windows 7 Release|Win32 + {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 7 Release|Win32.Build.0 = Windows 7 Release|Win32 + {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 7 Release|Win32.Deploy.0 = Windows 7 Release|Win32 + {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 7 Release|x64.ActiveCfg = Windows 7 Release|x64 + {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 7 Release|x64.Build.0 = Windows 7 Release|x64 + {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 7 Release|x64.Deploy.0 = Windows 7 Release|x64 + {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 8 Debug|Win32.ActiveCfg = Windows 8 Debug|Win32 + {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 8 Debug|Win32.Build.0 = Windows 8 Debug|Win32 + {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 8 Debug|Win32.Deploy.0 = Windows 8 Debug|Win32 + {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 8 Debug|x64.ActiveCfg = Windows 8 Debug|x64 + {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 8 Debug|x64.Build.0 = Windows 8 Debug|x64 + {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 8 Debug|x64.Deploy.0 = Windows 8 Debug|x64 + {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 8 Release|Win32.ActiveCfg = Windows 8 Release|Win32 + {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 8 Release|Win32.Build.0 = Windows 8 Release|Win32 + {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 8 Release|Win32.Deploy.0 = Windows 8 Release|Win32 + {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 8 Release|x64.ActiveCfg = Windows 8 Release|x64 + {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 8 Release|x64.Build.0 = Windows 8 Release|x64 + {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 8 Release|x64.Deploy.0 = Windows 8 Release|x64 + {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows Vista Debug|Win32.ActiveCfg = Windows Vista Debug|Win32 + {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows Vista Debug|Win32.Build.0 = Windows Vista Debug|Win32 + {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows Vista Debug|Win32.Deploy.0 = Windows Vista Debug|Win32 + {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows Vista Debug|x64.ActiveCfg = Windows Vista Debug|x64 + {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows Vista Debug|x64.Build.0 = Windows Vista Debug|x64 + {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows Vista Debug|x64.Deploy.0 = Windows Vista Debug|x64 + {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows Vista Release|Win32.ActiveCfg = Windows Vista Release|Win32 + {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows Vista Release|Win32.Build.0 = Windows Vista Release|Win32 + {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows Vista Release|Win32.Deploy.0 = Windows Vista Release|Win32 + {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows Vista Release|x64.ActiveCfg = Windows Vista Release|x64 + {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows Vista Release|x64.Build.0 = Windows Vista Release|x64 + {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows Vista Release|x64.Deploy.0 = Windows Vista Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/vs2013/xenbus_monitor/xenbus_monitor.vcxproj b/vs2013/xenbus_monitor/xenbus_monitor.vcxproj new file mode 100644 index 0000000..5575c7e --- /dev/null +++ b/vs2013/xenbus_monitor/xenbus_monitor.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="Globals"> + <Configuration>Windows Vista Debug</Configuration> + <Platform Condition="'$(Platform)' == ''">Win32</Platform> + <DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor> + </PropertyGroup> + <PropertyGroup Label="PropertySheets"> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>WindowsApplicationForDrivers8.1</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__="XENBUS_MONITOR";%(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> + <AdditionalDependencies>wtsapi32.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\monitor\messages.mc" /> + </ItemGroup> + <ItemGroup> + <ClCompile Include="..\..\src\monitor\monitor.c" /> + </ItemGroup> + <ItemGroup> + <ResourceCompile Include="..\..\src\monitor\xenbus_monitor.rc" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> +</Project> \ No newline at end of file diff --git a/vs2013/xenbus_monitor/xenbus_monitor.vcxproj.user b/vs2013/xenbus_monitor/xenbus_monitor.vcxproj.user new file mode 100644 index 0000000..88ecce8 --- /dev/null +++ b/vs2013/xenbus_monitor/xenbus_monitor.vcxproj.user @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <SignMode>TestSign</SignMode> + <TestCertificate>..\..\src\xenbus.pfx</TestCertificate> + <TimeStampServer>http://timestamp.verisign.com/scripts/timstamp.dll</TimeStampServer> + </PropertyGroup> +</Project> -- 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 |