Custom Solver
StdAfx.h
// Copyright 2009 ESRI
// 
// All rights reserved under the copyright laws of the United States
// and applicable international laws, treaties, and conventions.
// 
// You may freely redistribute and use this sample code, with or
// without modification, provided you include the original copyright
// notice and use restrictions.
// 
// See the use restrictions.
// 



#pragma once

#ifndef STRICT
#define STRICT
#endif

// Modify the following defines if you have to target a platform prior to the ones specified below.
// Refer to MSDN for the latest info on corresponding values for different platforms.
#ifndef WINVER        // Allow use of features specific to Windows XP or later.
#define WINVER 0x0501    // Change this to the appropriate value to target other versions of Windows.
#endif

#ifndef _WIN32_WINNT    // Allow use of features specific to Windows XP or later.                   
#define _WIN32_WINNT 0x0501  // Change this to the appropriate value to target other versions of Windows.
#endif

#ifndef _WIN32_WINDOWS    // Allow use of features specific to Windows 98 or later.
#define _WIN32_WINDOWS 0x0410 // Change this to the appropriate value to target Windows Me or later.
#endif

#ifndef _WIN32_IE      // Allow use of features specific to IE 6.0 or later.
#define _WIN32_IE 0x0600  // Change this to the appropriate value to target other versions of IE.
#endif

#define _ATL_APARTMENT_THREADED
#define _ATL_NO_AUTOMATIC_NAMESPACE

#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS  // some CString constructors will be explicit

#include <atlbase.h>
#include <atlcom.h>
#include <atlwin.h>
#include <atltypes.h>
#include <atlctl.h>
#include <atlhost.h>

using namespace ATL;

#pragma warning(push)
#pragma warning(disable : 4192) /* Ignore warnings for types that are duplicated in win32 header files */
#pragma warning(disable : 4146) /* Ignore warnings for use of minus on unsigned types */

#import "\Program Files\ArcGIS\com\esriSystem.olb" named_guids no_namespace raw_interfaces_only no_implementation \
  exclude("OLE_COLOR", "OLE_HANDLE", "VARTYPE")
#import "\Program Files\ArcGIS\com\esriSystemUI.olb" named_guids no_namespace raw_interfaces_only no_implementation
#import "\Program Files\ArcGIS\com\esriFramework.olb" named_guids no_namespace raw_interfaces_only no_implementation  \
  exclude("UINT_PTR")
#import "\Program Files\ArcGIS\com\esriGeometry.olb" named_guids no_namespace raw_interfaces_only no_implementation \
  rename("ISegment", "ISegmentESRI")
#import "\Program Files\ArcGIS\com\esriGeoDatabase.olb" raw_interfaces_only, raw_native_types, no_namespace, named_guids
#import "\Program Files\ArcGIS\com\esrinetworkanalyst.olb" named_guids no_namespace raw_interfaces_only no_implementation
#import "\Program Files\ArcGIS\com\esriDisplay.olb" raw_interfaces_only, raw_native_types, no_namespace, named_guids
#import "\Program Files\ArcGIS\com\esriCarto.olb" raw_interfaces_only, raw_native_types, no_namespace, named_guids \
  exclude("UINT_PTR")

// This is included below so we can refer to CLSID_, IID_, etc. defined within
// this project.

#include "_CustomSolver_i.c"

#pragma warning(pop)