========================================================================
    OxtService
========================================================================

Building:

The OxtService project was based off the original XenGuestAgent and was
created using Developer Studio 2008. It now is built with VS 2012.

========================================================================
    ACTIVE TEMPLATE LIBRARY : OxtService Project Overview
========================================================================

AppWizard has created this XenGuestAgent project for you to use as the starting point for
writing your Service (EXE).

This file contains a summary of what you will find in each of the files that
make up your project.

OxtService.vcproj
    This is the main project file for VC++ projects generated using an Application Wizard.
    It contains information about the version of Visual C++ that generated the file, and
    information about the platforms, configurations, and project features selected with the
    Application Wizard.

OxtService.idl
    This file contains the IDL definitions of the type library, the interfaces
    and co-classes defined in your project.
    This file will be processed by the MIDL compiler to generate:
        C++ interface definitions and GUID declarations (OxtService.h)
        GUID definitions                                (OxtService_i.c)
        A type library                                  (OxtService.tlb)
        Marshaling code                                 (OxtService_p.c and dlldata.c)

OxtService.h
    This file contains the C++ interface definitions and GUID declarations of the
    items defined in OxtService.idl. It will be regenerated by MIDL during compilation.

OxtService.cpp
    This file contains the object map and the implementation of WinMain, ServiceMain, and
    the service management functions.

OxtService.rc
    This is a listing of all of the Microsoft Windows resources that the
    program uses.


/////////////////////////////////////////////////////////////////////////////
Other standard files:

StdAfx.h, StdAfx.cpp
    These files are used to build a precompiled header (PCH) file
    named XenGuestAgent.pch and a precompiled types file named StdAfx.obj.

Resource.h
    This is the standard header file that defines resource IDs.

/////////////////////////////////////////////////////////////////////////////
Proxy/stub DLL project and module definition file:

We are using all automation types so we don't need a custom proxy/stub. We will
use the generic oleaut32 marshaller.

/////////////////////////////////////////////////////////////////////////////


/////////////////////////////////////////////////////////////////////////////
NOTE: We had to switch to using SP1 for Studio 2008. There is a bug in the ATL
wizard that generates incorrect COM registry files so the class factory 
registration fails. Clients all receive 0x80080005 trying to create objects.

NOTE: SP1 does not fix teh problem. To work around it, you have to add this to
each of the RGS files for the coclasses created:
val AppID = s '%APPID%'

NOTE: UseOfATL="1" to statically link the ATL library to reduce dependencies.

/////////////////////////////////////////////////////////////////////////////