Я как раз с этим работаю. Во-первых, тебе надо подключить библиотеки ArcObjects в свой проект - т.е. в файле StdAfx.h в конце должно быть написано следующее
#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" raw_interfaces_only, raw_native_types, no_namespace, named_guids, exclude("OLE_COLOR", "OLE_HANDLE", "VARTYPE")
#import "\Program Files\ArcGIS\com\esriSystemUI.olb" raw_interfaces_only, raw_native_types, no_namespace, named_guids
#import "\Program Files\ArcGIS\com\esriGeometry.olb" raw_interfaces_only, raw_native_types, no_namespace, named_guids
#import "\Program Files\ArcGIS\com\esriDisplay.olb" raw_interfaces_only, raw_native_types, no_namespace, named_guids
#import "\Program Files\ArcGIS\com\esriOutput.olb" raw_interfaces_only, raw_native_types, no_namespace, named_guids
#import "\Program Files\ArcGIS\com\esriGeoDatabase.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
// Some of the Engine controls
#import "\Program Files\ArcGIS\bin\TOCControl.ocx" raw_interfaces_only, raw_native_types, no_namespace, named_guids
#import "\Program Files\ArcGIS\bin\ToolbarControl.ocx" raw_interfaces_only, raw_native_types, no_namespace, named_guids
#import "\Program Files\ArcGIS\bin\MapControl.ocx" raw_interfaces_only, raw_native_types, no_namespace, named_guids
#import "\Program Files\ArcGIS\bin\PageLayoutControl.ocx" raw_interfaces_only, raw_native_types, no_namespace, named_guids
// additionally for 3D controls
#import "\Program Files\ArcGIS\com\esri3DAnalyst.olb" raw_interfaces_only, raw_native_types, no_namespace, named_guids
#import "\Program Files\ArcGIS\com\esriGlobeCore.olb" raw_interfaces_only, raw_native_types, no_namespace, named_guids
#import "\Program Files\ArcGIS\bin\SceneControl.ocx" raw_interfaces_only, raw_native_types, no_namespace, named_guids
#import "\Program Files\ArcGIS\bin\GlobeControl.ocx" raw_interfaces_only, raw_native_types, no_namespace, named_guids
Если ты не используеш Pagelayout control и дригие контролы, то лучше их не подключать - чтобы компилятор не ругался.
А чтобы получить объект типа Layer тебе сначала надо получить объект IMap, а затем уже ILayer. Т.е. это должно выглядеть примерно так:
// m_mapcontrol - переменная, указывающая на MapControl
IMapPtr ipMap = m_mapcontrol.GetMap();
IActiveViewPtr ipActiveView = m_mapcontrol.GetActiveView();
ILayerPtr ipLayer;
ipMap->get_Layer(0, &ipLayer);