esriGeoDatabase.tlh
上传用户:juying163
上传日期:2014-09-24
资源大小:5867k
文件大小:683k
源码类别:

GIS编程

开发平台:

Visual C++

  1.     virtual HRESULT __stdcall CreateNetworkEx (
  2.         BSTR networkName,
  3.         enum esriNetworkType NetworkType,
  4.         VARIANT_BOOL buildNormalizedTables,
  5.         BSTR ConfigKeyword,
  6.         long formatNum,
  7.         struct INetwork * * Network ) = 0;
  8. };
  9. struct __declspec(uuid("7ebfc159-e0da-4d21-9c3b-5d81f2e6ad9f"))
  10. IForwardStarGEN : IUnknown
  11. {
  12.     //
  13.     // Raw methods provided by interface
  14.     //
  15.     virtual HRESULT __stdcall get_Network (
  16.         struct INetwork * * Network ) = 0;
  17.     virtual HRESULT __stdcall FindAdjacent (
  18.         long fromEdgeEID,
  19.         long atJunctionEID,
  20.         long * adjacentEdgesCount ) = 0;
  21.     virtual HRESULT __stdcall QueryAdjacentJunction (
  22.         long Index,
  23.         long * adjacentJunctionEID,
  24.         VARIANT * adjacentJunctionWeightValue ) = 0;
  25.     virtual HRESULT __stdcall QueryAdjacentEdge (
  26.         long Index,
  27.         long * adjacentEdgeEID,
  28.         VARIANT_BOOL * reverseOrientation,
  29.         VARIANT * adjacentEdgeWeightValue ) = 0;
  30.     virtual HRESULT __stdcall QueryAtTurn (
  31.         long Index,
  32.         long * adjacentTurnEID,
  33.         VARIANT * adjacentTurnWeightValue ) = 0;
  34.     virtual HRESULT __stdcall QueryAdjacentJunctions (
  35.         SAFEARRAY * * adjacentJunctionEIDs,
  36.         SAFEARRAY * * adjacentJunctionsWeightValue ) = 0;
  37.     virtual HRESULT __stdcall QueryAdjacentEdges (
  38.         SAFEARRAY * * adjacentEdgeEIDs,
  39.         SAFEARRAY * * reverseOrientation,
  40.         SAFEARRAY * * adjacentEdgesWeightValue ) = 0;
  41. };
  42. struct __declspec(uuid("32012812-0631-4d1e-b92f-13cad1502edf"))
  43. IUtilityNetworkGEN : INetwork
  44. {
  45.     //
  46.     // Raw methods provided by interface
  47.     //
  48.     virtual HRESULT __stdcall get_ValidFlowDirection (
  49.         VARIANT_BOOL * pValidFlowDirection ) = 0;
  50.     virtual HRESULT __stdcall GetFlowDirection (
  51.         long edgeEID,
  52.         enum esriFlowDirection * flowDirection ) = 0;
  53.     virtual HRESULT __stdcall SetFlowDirection (
  54.         long edgeEID,
  55.         enum esriFlowDirection flowDirection ) = 0;
  56.     virtual HRESULT __stdcall EstablishFlowDirection (
  57.         SAFEARRAY * * sourceEIDs,
  58.         SAFEARRAY * * sinkEIDs ) = 0;
  59.     virtual HRESULT __stdcall PartialEstablishFlowDirection (
  60.         SAFEARRAY * * sourceEIDs,
  61.         SAFEARRAY * * sinkEIDs ) = 0;
  62. };
  63. struct __declspec(uuid("2fb1fd60-c418-4e33-9b55-0a8b12530164"))
  64. INetDiagnostics : IUnknown
  65. {
  66.     //
  67.     // Raw methods provided by interface
  68.     //
  69.     virtual HRESULT __stdcall Dump (
  70.         BSTR fileName ) = 0;
  71. };
  72. struct __declspec(uuid("1f07a0b0-2e14-11d1-b24e-0000f878229e"))
  73. NetworkWorkspace;
  74.     // [ default ] interface IUnknown
  75.     // interface INetworkWorkspace
  76.     // interface INetworkWorkspace2
  77.     // interface ISupportErrorInfo
  78. struct __declspec(uuid("91dd8ab5-e33d-11d4-9fea-00c04f68e627"))
  79. UtilityNetwork;
  80.     // [ default ] interface IUnknown
  81.     // interface IUtilityNetworkGEN
  82.     // interface INetwork
  83.     // interface INetworkUpdate
  84.     // interface INetElements
  85.     // interface INetSchema
  86.     // interface INetSchemaEdit
  87.     // interface INetTopology
  88.     // interface INetTopologyEdit
  89.     // interface INetAttributes
  90.     // interface INetAttributesEdit
  91.     // interface IDataset
  92.     // interface IDatasetEdit
  93.     // interface IDatasetEditInfo
  94.     // interface ISchemaLock
  95.     // interface IVersionedObject2
  96.     // interface IDatasetAnalyze
  97. struct __declspec(uuid("60262917-d53f-4e0b-86ff-a916c3fb26bc"))
  98. IDatasetAnalyze : IUnknown
  99. {
  100.     //
  101.     // Raw methods provided by interface
  102.     //
  103.     virtual HRESULT __stdcall Analyze (
  104.         long tableComponents ) = 0;
  105.     virtual HRESULT __stdcall get_AllowableComponents (
  106.         long * AllowableComponents ) = 0;
  107. };
  108. struct __declspec(uuid("91dd8ab6-e33d-11d4-9fea-00c04f68e627"))
  109. StreetNetwork;
  110.     // [ default ] interface IUnknown
  111.     // interface INetwork
  112.     // interface IStreetNetwork
  113.     // interface INetworkUpdate
  114.     // interface INetElements
  115.     // interface INetSchema
  116.     // interface INetSchemaEdit
  117.     // interface INetTopology
  118.     // interface INetTopologyEdit
  119.     // interface INetAttributes
  120.     // interface INetAttributesEdit
  121.     // interface IDataset
  122.     // interface IDatasetEdit
  123.     // interface IDatasetEditInfo
  124.     // interface ISchemaLock
  125.     // interface IVersionedObject2
  126.     // interface IDatasetAnalyze
  127. struct __declspec(uuid("91dd8ab7-e33d-11d4-9fea-00c04f68e627"))
  128. NetElementClass;
  129.     // [ default ] interface IUnknown
  130.     // interface INetElementClass
  131. struct __declspec(uuid("b1eb90e2-0cfa-11d1-9cd7-00805f74d243"))
  132. NetElementDescription;
  133.     // [ default ] interface IUnknown
  134.     // interface INetElementDescription
  135.     // interface INetElementDescriptionEdit
  136. struct __declspec(uuid("3ebbe031-557d-11d1-b254-0000f878229e"))
  137. NetWeight;
  138.     // [ default ] interface IUnknown
  139.     // interface INetWeight
  140.     // interface INetWeightEdit
  141.     // interface IXMLSerialize
  142.     // interface IClone
  143.     // interface IPersistStream
  144. struct __declspec(uuid("19bdc491-6201-11d1-b255-0000f878229e"))
  145. NetWeightAssociation;
  146.     // [ default ] interface IUnknown
  147.     // interface INetWeightAssociation
  148.     // interface INetWeightAssociationEdit
  149.     // interface IXMLSerialize
  150.     // interface IClone
  151.     // interface IPersistStream
  152. struct __declspec(uuid("e3d2b732-e652-11d4-9feb-00c04f68e627"))
  153. EnumNetWeightAssociation;
  154.     // [ default ] interface IUnknown
  155.     // interface IEnumNetWeightAssociation
  156. struct __declspec(uuid("91dd8ab8-e33d-11d4-9fea-00c04f68e627"))
  157. ForwardStar;
  158.     // [ default ] interface IUnknown
  159.     // interface IForwardStarGEN
  160. struct __declspec(uuid("4d2236de-1525-11d3-9f4a-00c04f68e627"))
  161. EnumNetEIDArray;
  162.     // [ default ] interface IUnknown
  163.     // interface IEnumNetEID
  164.     // interface IEnumNetEIDBuilder
  165. struct __declspec(uuid("697ada1e-a05c-4ffb-bd41-eb47b1773310"))
  166. IEnumNetEIDBuilder : IUnknown
  167. {
  168.     //
  169.     // Raw methods provided by interface
  170.     //
  171.     virtual HRESULT __stdcall putref_Network (
  172.         struct INetwork * _arg1 ) = 0;
  173.     virtual HRESULT __stdcall Add (
  174.         long EID ) = 0;
  175.     virtual HRESULT __stdcall put_ElementType (
  176.         enum esriElementType _arg1 ) = 0;
  177.     virtual HRESULT __stdcall put_EIDs (
  178.         long Count,
  179.         long * _arg2 ) = 0;
  180. };
  181. enum fdoError
  182. {
  183.     FDO_E_LOADING_RESOURCE = -2147220991,
  184.     FDO_E_INDEX_OUT_OF_RANGE = -2147220990,
  185.     FDO_E_NOT_SUPPORTED = -2147220989,
  186.     FDO_E_NOT_ENOUGH_SPACE = -2147220988,
  187.     FDO_E_NO_PERMISSION = -2147220987,
  188.     FDO_E_IMPLEMENTATION = -2147220986,
  189.     FDO_E_INVALID_SQL = -2147220985,
  190.     FDO_E_NETWORK = -2147220984,
  191.     FDO_E_DATE_CONVERSION = -2147220983,
  192.     FDO_E_OBJECT_IS_DELETED = -2147220982,
  193.     FDO_E_WORKSPACE_NOT_COMPATIBLE = -2147220981,
  194.     FDO_E_OBJECT_IS_READONLY = -2147220980,
  195.     FDO_E_OBJECT_IN_USE = -2147220979,
  196.     FDO_E_OBJECT_MAX_REACHED = -2147220978,
  197.     FDO_E_OBJECT_IS_LOCKED = -2147220977,
  198.     FDO_E_INVALID_ENVELOPE = -2147220976,
  199.     FDO_E_FILE_IO = -2147220975,
  200.     FDO_E_LICENSE_FAILURE = -2147220974,
  201.     FDO_E_DBMS_ERROR = -2147220973,
  202.     FDO_E_COERCING = -2147220972,
  203.     FDO_E_BINDING = -2147220971,
  204.     FDO_E_SCHEMA_LOCK_CONFLICT = -2147220970,
  205.     FDO_E_MUST_BE_OWNER = -2147220969,
  206.     FDO_E_OBJECT_NOT_LOCKED = -2147220969,
  207.     FDO_E_ESRI_PROVIDER_CONNECT_INVALID = -2147220968,
  208.     FDO_E_CONNECTION_CANCELLED = -2147220967,
  209.     FDO_E_INVALID_RELEASE = -2147220966,
  210.     FDO_E_NO_SYSTEM_TABLES = -2147220965,
  211.     FDO_E_CONNECT_PARAMETERS_CONFLICT = -2147220964,
  212.     FDO_E_FIELDINFO_SYSTEM_TABLE_INCONSISTENCY = -2147220963,
  213.     FDO_E_NO_EDIT_LICENSE = -2147220962,
  214.     FDO_E_NO_SCHEMA_LICENSE = -2147220961,
  215.     FDO_E_NO_OPERATION_LICENSE = -2147220960,
  216.     FDO_E_OPERATION_CANNOT_BE_UNDONE = -2147220959,
  217.     FDO_E_EDIT_OPERATION_REQUIRED = -2147220958,
  218.     FDO_E_RECONCILE_CANNOT_BE_UNDONE = -2147220957,
  219.     FDO_E_OBJECT_NOT_INITIALIZED = -2147220956,
  220.     FDO_E_WORKSPACE_NOT_CONNECTED = -2147220911,
  221.     FDO_E_WORKSPACE_ALREADY_CONNECTED = -2147220910,
  222.     FDO_E_SERVER_NOT_FOUND = -2147220909,
  223.     FDO_E_SERVER_NOT_AVAILABLE = -2147220908,
  224.     FDO_E_SERVER_MAX_CONNECTIONS = -2147220907,
  225.     FDO_E_USER_INVALID = -2147220906,
  226.     FDO_E_USER_NOACCESS = -2147220905,
  227.     FDO_E_DATABASE_NOT_FOUND = -2147220904,
  228.     FDO_E_DATABASE_NOT_AVAILABLE = -2147220903,
  229.     FDO_E_WORKSPACE_ALREADY_EXISTS = -2147220902,
  230.     FDO_E_WORKSPACE_EXTENSION_CREATE_FAILED = -2147220901,
  231.     FDO_E_WORKSPACE_EXTENSION_INIT_FAILED = -2147220900,
  232.     FDO_E_WORKSPACE_EXTENSION_DATASET_CREATE_FAILED = -2147220899,
  233.     FDO_E_WORKSPACE_EXTENSION_DATASET_RENAME_FAILED = -2147220898,
  234.     FDO_E_WORKSPACE_EXTENSION_DATASET_DELETE_FAILED = -2147220897,
  235.     FDO_E_WORKSPACE_EXTENSION_DUP_NAME = -2147220896,
  236.     FDO_E_WORKSPACE_EXTENSION_DUP_GUID = -2147220895,
  237.     FDO_E_WORKSPACE_EXTENSION_NO_REG_PRIV = -2147220894,
  238.     FDO_E_WORKSPACE_READONLY = -2147220893,
  239.     FDO_E_DATASET_NOT_FOUND = -2147220735,
  240.     FDO_E_DATASET_INVALID_NAME = -2147220734,
  241.     FDO_E_DATASET_ALREADY_EXISTS = -2147220733,
  242.     FDO_E_DATASET_CANNOT_RENAME = -2147220732,
  243.     FDO_E_TABLE_NOT_FOUND = -2147220655,
  244.     FDO_E_TABLE_INVALID_NAME = -2147220654,
  245.     FDO_E_TABLE_ALREADY_EXISTS = -2147220653,
  246.     FDO_E_TABLE_NO_OID_FIELD = -2147220652,
  247.     FDO_E_TABLE_INVALID_KEYWORD = -2147220651,
  248.     FDO_E_TABLE_NOT_VERSIONED = -2147220650,
  249.     FDO_E_TABLE_DUPLICATE_COLUMN = -2147220649,
  250.     FDO_E_TABLE_COLUMN_NOT_FOUND = -2147220648,
  251.     FDO_E_TABLE_IN_USE = -2147220647,
  252.     FDO_E_TABLE_RECORD_LENGTH_EXCEEDED = -2147220646,
  253.     FDO_E_FEATURECLASS_NOT_FOUND = -2147220479,
  254.     FDO_E_FEATURECLASS_BAD_EXTENT = -2147220478,
  255.     FDO_E_FEATURECLASS_INVALID_NAME = -2147220477,
  256.     FDO_E_FEATURECLASS_ALREADY_EXISTS = -2147220476,
  257.     FDO_E_FEATURECLASS_LOAD_MODE = -2147220475,
  258.     FDO_E_FEATURECLASS_NETWORK_CANNOT_DELETE = -2147220474,
  259.     FDO_E_FEATURECLASS_BAD_DEFAULT_SUBTYPE_CODE = -2147220473,
  260.     FDO_E_FEATURECLASS_NO_SUBTYPE_FIELD = -2147220472,
  261.     FDO_E_FEATURECLASS_NETWORK_CANNOT_RENAME = -2147220471,
  262.     FDO_E_FEATURECLASS_SUBTYPE_EXISTS = -2147220470,
  263.     FDO_E_FEATURECLASS_FD_NOT_EDITABLE = -2147220469,
  264.     FDO_E_FEATURECLASS_SUBTYPE_FIELD_CANNOT_RENAME = -2147220468,
  265.     FDO_E_SUBTYPE_CODE_INVALID = -2147220467,
  266.     FDO_E_SUBTYPE_CODE_DOES_NOT_EXIST = -2147220466,
  267.     FDO_E_SUBTYPE_CODE_IS_NULL = -2147220465,
  268.     FDO_E_SUBTYPE_CODE_NOT_INTEGER = -2147220464,
  269.     FDO_E_FEATURECLASS_NO_SHAPE_COLUMN = -2147220463,
  270.     FDO_E_FEATURECLASS_TOPOLOGY_CANNOT_DELETE = -2147220462,
  271.     FDO_E_SUBTYPE_CODE_HAS_ASSOCIATED_TOPOLOGY_RULE = -2147220461,
  272.     FDO_E_PLANARGRAPH_NOT_FOUND = -2147220399,
  273.     FDO_E_GEOMETRICNETWORK_NOT_FOUND = -2147220223,
  274.     FDO_E_ADD_FEATURE_TO_NETWORK = -2147220222,
  275.     FDO_E_CREATE_LOGICAL_NETWORK = -2147220221,
  276.     FDO_E_GEOMETRICNETWORK_ALREADY_EXISTS = -2147220220,
  277.     FDO_E_ZERO_LENGTH_EDGE_ELEMENT = -2147220219,
  278.     FDO_E_GEOMETRICNETWORK_CANNOT_RENAME = -2147220218,
  279.     FDO_E_GEOMETRICNETWORK_ELEMENT_INCONSISTENCY = -2147220217,
  280.     FDO_E_NETWORK_FEATURES_HAVE_HOMOGENEOUS_Z_SUPPORT = -2147220216,
  281.     FDO_E_NO_ASSOCIATED_ERROR_TABLE = -2147220215,
  282.     FDO_E_FEATURE_ELEMENT_MISSING_POINT_GEOMETRY = -2147220214,
  283.     FDO_E_NETWORK_FEATURES_HAVE_HOMOGENEOUS_M_SUPPORT = -2147220213,
  284.     FDO_E_CLASS_EXISTS_WITH_ORPHAN_JUNCTION_CLASS_NAME = -2147220212,
  285.     FDO_E_GEOMETRICNETWORK_INVALID_NAME = -2147220211,
  286.     FDO_E_DATASET_UNEDITABLE = -2147220143,
  287.     FDO_E_START_EDITING = -2147220142,
  288.     FDO_E_SAVE_EDIT_SESSION = -2147220141,
  289.     FDO_E_STOP_EDITING_WITH_SAVE = -2147220140,
  290.     FDO_E_STOP_EDITING_WITH_DISCARD = -2147220139,
  291.     FDO_E_NOT_ALLOWED_WHILE_EDITING = -2147220138,
  292.     FDO_E_COULD_NOT_CLEAN_COVERAGE = -2147220137,
  293.     FDO_E_NO_INTEGRATEABLE_LAYERS = -2147220136,
  294.     FDO_E_INVALID_TOPOLOGY = -2147220135,
  295.     FDO_E_NOT_EDITING = -2147220134,
  296.     FDO_E_COULD_NOT_ENCODE_INFO_ITEM = -2147220133,
  297.     FDO_E_NODE_NOT_ON_ARC = -2147220132,
  298.     FDO_E_CANNOT_REMOVE_LAST_LABEL = -2147220131,
  299.     FDO_E_CANNOT_MOVE_LABEL_OUT_OF_POLYGON = -2147220130,
  300.     FDO_E_INVALID_POLYGON_LABEL_DELETED = -2147220129,
  301.     FDO_E_CANNOT_BREAK_TOPOLOGY = -2147220128,
  302.     FDO_E_CANNOT_CREATE_UNIVERSE_LABEL = -2147220127,
  303.     FDO_E_CANNOT_MOVE_UNIVERSE_LABELS = -2147220126,
  304.     FDO_E_INVALID_GEOMETRY = -2147220125,
  305.     FDO_E_CORUPTED_COVERAGE = -2147220124,
  306.     FDO_E_DUPLICATE_FIELD_NAMES = -2147220123,
  307.     FDO_E_CANNOT_EDIT_ZS = -2147220122,
  308.     FDO_E_NO_POLYGONS_CREATED = -2147220121,
  309.     FDO_E_ABORT_EDITS_FAILED = -2147220120,
  310.     FDO_E_FLUSH_EDITS_FAILED = -2147220119,
  311.     FDO_E_CANNOT_EDIT_TABLE_WITH_UNIQ_USER_INDEX = -2147220118,
  312.     FDO_E_CANNOT_EDIT_DATASET_WITH_UNIQ_USER_INDEX = -2147220117,
  313.     FDO_E_CANNOT_REBUILD_POLYGONS = -2147220116,
  314.     FDO_E_USERTRANSACTION_NOT_ALLOWED = -2147220115,
  315.     FDO_E_PROPERTY_NO_SUBTYPE = -2147219967,
  316.     FDO_E_PROPERTY_NOT_FOUND = -2147219966,
  317.     FDO_E_FIELD_INVALID = -2147219887,
  318.     FDO_E_FIELD_INVALID_NAME = -2147219886,
  319.     FDO_E_FIELD_NOT_FOUND = -2147219885,
  320.     FDO_E_FIELD_ALREADY_EXISTS = -2147219884,
  321.     FDO_E_FIELD_INVALID_TYPE = -2147219883,
  322.     FDO_E_FIELD_UNSUPPORTED_OPERATION = -2147219882,
  323.     FDO_E_FIELD_INVALID_GEOMETRY_TYPE = -2147219881,
  324.     FDO_E_FIELD_NOT_EDITABLE = -2147219880,
  325.     FDO_E_FIELD_NOT_NULLABLE = -2147219879,
  326.     FDO_E_FIELD_CANNOT_DELETE_WEIGHT_FIELD = -2147219878,
  327.     FDO_E_FIELD_CANNOT_DELETE_REQUIRED_FIELD = -2147219877,
  328.     FDO_E_FIELD_CANNOT_DELETE_SUBTYPE_FIELD = -2147219876,
  329.     FDO_E_FIELD_CANNOT_DELETE_LAST_FIELD = -2147219875,
  330.     FDO_E_FIELD_IS_KEYWORD = -2147219874,
  331.     FDO_E_FIELDS_INVALID = -2147219711,
  332.     FDO_E_FIELDS_NOT_FOUND = -2147219710,
  333.     FDO_E_FIELDS_NO_GEOMETRY = -2147219709,
  334.     FDO_E_FIELDS_NO_OID = -2147219708,
  335.     FDO_E_FIELDS_MULTIPLE_OIDS = -2147219707,
  336.     FDO_E_FIELDS_MULTIPLE_GEOMETRIES = -2147219706,
  337.     FDO_E_FIELDS_MODEL_NAME_ALREADY_EXISTS = -2147219705,
  338.     FDO_E_FIELDS_MULTIPLE_RASTERS = -2147219704,
  339.     FDO_E_INDEX_WRONG_TYPE = -2147219631,
  340.     FDO_E_INDEX_ALREADY_EXISTS = -2147219630,
  341.     FDO_E_INDEX_NOT_FOUND = -2147219629,
  342.     FDO_E_INDEX_NOT_ALLOWED = -2147219628,
  343.     FDO_E_METADATA_TABLE_NOT_FOUND = -2147219455,
  344.     FDO_E_METADATA_FIELD_NOT_FOUND = -2147219454,
  345.     FDO_E_METADATA_ADDING_DATASET = -2147219453,
  346.     FDO_E_METADATA_ADDING_FEATURECLASS = -2147219452,
  347.     FDO_E_METADATA_BAD_CLSID = -2147219451,
  348.     FDO_E_SPATIALREL_NOT_SUPPORTED = -2147219375,
  349.     FDO_E_SPATIALREL_UNKNOWN = -2147219374,
  350.     FDO_E_FEATURETYPE_NOT_SUPPORTED = -2147219373,
  351.     FDO_E_FEATURETYPE_UNKNOWN = -2147219372,
  352.     FDO_E_DATASETTYPE_NOT_SUPPORTED = -2147219371,
  353.     FDO_E_DATASETTYPE_UNKNOWN = -2147219370,
  354.     FDO_E_DRAWSTYLE_NOT_SUPPORTED = -2147219369,
  355.     FDO_E_DRAWSTYLE_UNKNOWN = -2147219368,
  356.     FDO_E_DRAWPHASE_NOT_SUPPORTED = -2147219367,
  357.     FDO_E_DRAWPHASE_UNKNOWN = -2147219366,
  358.     FDO_E_GEOMETRY_TYPE_NOT_SUPPORTED = -2147219199,
  359.     FDO_E_MULTIPART_EDGE_FEATURE_NOT_SUPPORTED = -2147219198,
  360.     FDO_E_GEOMETRY_HAS_NO_M_VALUES = -2147219197,
  361.     FDO_E_GEOMETRY_HAS_NO_Z_VALUES = -2147219196,
  362.     FDO_E_GEOMETRY_HAS_NULL_Z_VALUES = -2147219195,
  363.     FDO_E_GEOMETRY_NOT_SIMPLE = -2147219194,
  364.     FDO_E_GEOMETRY_CANNOT_HAVE_Z_VALUES = -2147219193,
  365.     FDO_E_GEOMETRY_SPATIAL_REFERENCE = -2147219192,
  366.     FDO_E_GEOMETRY_MISSING_SPATIAL_REFERENCE = -2147219191,
  367.     FDO_E_ROW_NO_SETUPINTERFACE = -2147219119,
  368.     FDO_E_ROW_NOT_FOUND = -2147219118,
  369.     FDO_E_ROW_NO_OID = -2147219117,
  370.     FDO_E_ROW_NO_OBJCLASS = -2147219116,
  371.     FDO_E_ROW_BAD_VALUE = -2147219115,
  372.     FDO_E_ROW_ALREADY_EXISTS = -2147219114,
  373.     FDO_E_COMPARE_TYPE_MISMATCH = -2147219113,
  374.     FDO_E_FEATURE_NO_ANNO = -2147217407,
  375.     FDO_E_FEATURE_BAD_SHAPE = -2147217406,
  376.     FDO_E_FEATURE_OUTSIDE_SPATIALREF = -2147217405,
  377.     FDO_E_FEATURE_SHAPE_UPDATE_BLOCKED = -2147217404,
  378.     FDO_E_FEATURE_AREA_LENGTH_UPDATE_FAILED = -2147217403,
  379.     FDO_E_ON_DELETE_MESSAGE_FAILED = -2147217402,
  380.     FDO_E_DELETE_PART_OBJECTS_FAILED = -2147217401,
  381.     FDO_E_DELETE_RELATIONSHIPS_FAILED = -2147217400,
  382.     FDO_E_ON_CHANGED_MESSAGE_FAILED = -2147217399,
  383.     FDO_E_MOVE_RELATED_FEATURES_FAILED = -2147217398,
  384.     FDO_E_ROTATE_RELATED_FEATURES_FAILED = -2147217397,
  385.     FDO_E_FEATURE_DELETED = -2147217396,
  386.     FDO_E_FEATURE_VALUE_TYPE_MISMATCH = -2147217395,
  387.     FDO_E_CUSTOM_COMPLEX_JUNCTION_NOT_IMPLEMENTED = -2147217394,
  388.     FDO_E_FEATURE_NOT_FOUND = -2147217393,
  389.     FDO_E_SPLIT_NOT_SUPPORTED_ON_GEOMETRY_TYPE = -2147217392,
  390.     FDO_E_SPLITTING_POLYGONS_REQUIRES_POLYLINE = -2147217391,
  391.     FDO_E_SPLITTING_POLYLINES_REQUIRES_POINT = -2147217390,
  392.     FDO_E_SPLIT_POINT_YIELDS_ZERO_LENGTH_POLYLINE = -2147217389,
  393.     FDO_E_CUTTER_YIELDS_ZERO_AREA_POLYGON = -2147217388,
  394.     FDO_E_FEATURE_NO_GEOMETRY = -2147217387,
  395.     FDO_E_REQUIRED_INTERFACE_NOT_FOUND = -2147217386,
  396.     FDO_E_REQUIRED_CONNECTION_POINT_NOT_FOUND = -2147217385,
  397.     FDO_E_INVALID_CONNECTION_POINT_GEOMETRY = -2147217384,
  398.     FDO_E_FEATURE_EMPTY_GEOMETRY = -2147217383,
  399.     FDO_E_CURSOR_WRONG_TYPE = -2147217327,
  400.     FDO_E_CURSOR_INVALID = -2147217326,
  401.     FDO_E_CURSOR_FINISHED = -2147217325,
  402.     FDO_E_CURSOR_LOCKED = -2147217324,
  403.     FDO_E_VERSION_BAD_NAME = -2147217151,
  404.     FDO_E_VERSION_UNEDITABLE = -2147217150,
  405.     FDO_E_VERSION_HAS_CONFLICTS = -2147217149,
  406.     FDO_E_VERSION_ALREADY_EXISTS = -2147217148,
  407.     FDO_E_VERSION_REDEFINED = -2147217147,
  408.     FDO_E_VERSION_NOT_FOUND = -2147217146,
  409.     FDO_E_VERSION_INVALID_STATE = -2147217145,
  410.     FDO_E_VERSION_NOT_OWNER = -2147217144,
  411.     FDO_E_VERSION_HAS_CHILDREN = -2147217143,
  412.     FDO_E_VERSION_NOT_RECONCILED = -2147217142,
  413.     FDO_E_VERSION_IS_PROTECTED = -2147217141,
  414.     FDO_E_VERSION_IN_USE = -2147217140,
  415.     FDO_E_VERSION_BEING_EDITED = -2147217139,
  416.     FDO_E_VERSION_BEING_RECONCILED = -2147217138,
  417.     FDO_E_RECONCILE_VERSION_NOT_AVAILABLE = -2147217137,
  418.     FDO_E_VERSION_RECONCILE_LOST = -2147217136,
  419.     FDO_E_FAILED_FILTERING_CONFLICTS = -2147217135,
  420.     FDO_E_RECONCILE_VERSION_NOT_ANCESTOR = -2147217134,
  421.     FDO_E_DATASOURCE_LOCK_FAILED = -2147217071,
  422.     FDO_E_DATASOURCE_RELEASELOCK_FAILED = -2147217070,
  423.     FDO_E_DATASOURCE_INUSE_ELSEWHERE = -2147217069,
  424.     FDO_E_INVALID_UNITS = -2147216895,
  425.     FDO_E_INVALID_GRID_SIZE = -2147216894,
  426.     FDO_E_SPATIALREF_MISMATCH = -2147216893,
  427.     FDO_E_SPATIALREF_INVALID = -2147216892,
  428.     FDO_E_INVALID_M_DOMAIN = -2147216891,
  429.     FDO_E_SPATIALFILTER_INVALID = -2147216815,
  430.     FDO_E_SPATIALFILTER_INVALID_GEOMETRY = -2147216814,
  431.     FDO_E_SELECTION_MISMATCH = -2147216639,
  432.     FDO_E_SELECTION_INVALID_TYPE = -2147216638,
  433.     FDO_E_SELECTION_NO_SELECTABLE_LAYERS = -2147216637,
  434.     FDO_E_OBJECTCLASS_COULD_NOT_CREATE_CLASS_INSTANCE = -2147216559,
  435.     FDO_E_OBJECTCLASS_COULD_NOT_CREATE_CLASS_EXTENSION = -2147216558,
  436.     FDO_E_OBJECTCLASS_COULD_NOT_INITIALIZE_CLASS_EXTENSION = -2147216557,
  437.     FDO_E_OBJECTCLASS_REQUIRES_AN_EDIT_SESSION = -2147216556,
  438.     FDO_E_OBJECTCLASS_MODEL_NAME_ALREADY_EXISTS = -2147216555,
  439.     FDO_E_CLASS_FD_NOT_EDITABLE = -2147216554,
  440.     FDO_E_COULD_NOT_LOAD_CLASS_EXTENSION_PROPERTIES = -2147216553,
  441.     FDO_E_RELCLASS_COULD_NOT_GET_ORIG_PRIM_KEY = -2147216383,
  442.     FDO_E_RELCLASS_COULD_NOT_GET_ORIG_FOR_KEY = -2147216382,
  443.     FDO_E_RELCLASS_COULD_NOT_GET_DEST_PRIM_KEY = -2147216381,
  444.     FDO_E_RELCLASS_COULD_NOT_GET_DEST_FOR_KEY = -2147216380,
  445.     FDO_E_RELCLASS_INCOMPATIBLE_WITH_EXISTING_RELCLASS = -2147216379,
  446.     FDO_E_RELCLASS_CANNOT_RESET_FKEYS = -2147216378,
  447.     FDO_E_RELCLASS_INVALID_FKEY = -2147216377,
  448.     FDO_E_SE_FAILURE = -2147216127,
  449.     FDO_E_SE_INVALID_LAYERINFO_OBJECT = -2147216126,
  450.     FDO_E_SE_NO_ANNOTATION = -2147216125,
  451.     FDO_E_SE_FINISHED = -2147216124,
  452.     FDO_E_SE_SDE_NOT_STARTED = -2147216123,
  453.     FDO_E_SE_UNCHANGED = -2147216122,
  454.     FDO_E_SE_CONNECTIONS_EXCEEDED = -2147216120,
  455.     FDO_E_SE_LOGIN_NOT_ALLOWED = -2147216119,
  456.     FDO_E_SE_INVALID_USER = -2147216118,
  457.     FDO_E_SE_NET_FAILURE = -2147216117,
  458.     FDO_E_SE_NET_TIMEOUT = -2147216116,
  459.     FDO_E_SE_OUT_OF_SVMEM = -2147216115,
  460.     FDO_E_SE_OUT_OF_CLMEM = -2147216114,
  461.     FDO_E_SE_OUT_OF_CONTEXT = -2147216113,
  462.     FDO_E_SE_NO_ACCESS = -2147216112,
  463.     FDO_E_SE_TOO_MANY_LAYERS = -2147216111,
  464.     FDO_E_SE_NO_LAYER_SPECIFIED = -2147216110,
  465.     FDO_E_SE_LAYER_LOCKED = -2147216109,
  466.     FDO_E_SE_LAYER_EXISTS = -2147216108,
  467.     FDO_E_SE_LAYER_NOEXIST = -2147216107,
  468.     FDO_E_SE_LAYER_INUSE = -2147216106,
  469.     FDO_E_SE_ROW_NOEXIST = -2147216104,
  470.     FDO_E_SE_ROW_EXISTS = -2147216102,
  471.     FDO_E_SE_LAYER_MISMATCH = -2147216101,
  472.     FDO_E_SE_NO_PERMISSIONS = -2147216100,
  473.     FDO_E_SE_INVALID_NOT_NULL = -2147216099,
  474.     FDO_E_SE_INVALID_SHAPE = -2147216098,
  475.     FDO_E_SE_INVALID_LAYER_NUMBER = -2147216097,
  476.     FDO_E_SE_INVALID_ENTITY_TYPE = -2147216096,
  477.     FDO_E_SE_INVALID_SEARCH_METHOD = -2147216095,
  478.     FDO_E_SE_INVALID_ETYPE_MASK = -2147216094,
  479.     FDO_E_SE_BIND_CONFLICT = -2147216093,
  480.     FDO_E_SE_INVALID_GRIDSIZE = -2147216092,
  481.     FDO_E_SE_INVALID_LOCK_MODE = -2147216091,
  482.     FDO_E_SE_ETYPE_NOT_ALLOWED = -2147216090,
  483.     FDO_E_SE_INVALID_NUM_OF_PTS = -2147216088,
  484.     FDO_E_SE_TABLE_NOEXIST = -2147216087,
  485.     FDO_E_SE_ATTR_NOEXIST = -2147216086,
  486.     FDO_E_SE_LICENSE_FAILURE = -2147216085,
  487.     FDO_E_SE_OUT_OF_LICENSES = -2147216084,
  488.     FDO_E_SE_INVALID_COLUMN_VALUE = -2147216083,
  489.     FDO_E_SE_INVALID_SQL = -2147216081,
  490.     FDO_E_SE_LOG_NOEXIST = -2147216080,
  491.     FDO_E_SE_LOG_NOACCESS = -2147216079,
  492.     FDO_E_SE_LOG_NOTOPEN = -2147216078,
  493.     FDO_E_SE_LOG_IO_ERROR = -2147216077,
  494.     FDO_E_SE_NO_SHAPES = -2147216076,
  495.     FDO_E_SE_NO_LOCKS = -2147216075,
  496.     FDO_E_SE_LOCK_CONFLICT = -2147216074,
  497.     FDO_E_SE_OUT_OF_LOCKS = -2147216073,
  498.     FDO_E_SE_DB_IO_ERROR = -2147216072,
  499.     FDO_E_SE_STREAM_IN_PROGRESS = -2147216071,
  500.     FDO_E_SE_INVALID_COLUMN_TYPE = -2147216070,
  501.     FDO_E_SE_TOPO_ERROR = -2147216069,
  502.     FDO_E_SE_ATTR_CONV_ERROR = -2147216068,
  503.     FDO_E_SE_INVALID_COLUMN_DEF = -2147216067,
  504.     FDO_E_SE_INVALID_SHAPE_BUF_SIZE = -2147216066,
  505.     FDO_E_SE_INVALID_ENVELOPE = -2147216065,
  506.     FDO_E_SE_TEMP_IO_ERROR = -2147216064,
  507.     FDO_E_SE_GSIZE_TOO_SMALL = -2147216063,
  508.     FDO_E_SE_LICENSE_EXPIRED = -2147216062,
  509.     FDO_E_SE_TABLE_EXISTS = -2147216061,
  510.     FDO_E_SE_INDEX_EXISTS = -2147216060,
  511.     FDO_E_SE_INDEX_NOEXIST = -2147216059,
  512.     FDO_E_SE_INVALID_POINTER = -2147216058,
  513.     FDO_E_SE_INVALID_PARAM_VALUE = -2147216057,
  514.     FDO_E_SE_ALL_SLIVERS = -2147216056,
  515.     FDO_E_SE_TRANS_IN_PROGRESS = -2147216055,
  516.     FDO_E_SE_IOMGR_NO_DBMS_CONNECT = -2147216054,
  517.     FDO_E_SE_DUPLICATE_ARC = -2147216053,
  518.     FDO_E_SE_INVALID_ANNO_OBJECT = -2147216052,
  519.     FDO_E_SE_PT_NO_EXIST = -2147216051,
  520.     FDO_E_SE_PTS_NOT_ADJACENT = -2147216050,
  521.     FDO_E_SE_INVALID_MID_PT = -2147216049,
  522.     FDO_E_SE_INVALID_END_PT = -2147216048,
  523.     FDO_E_SE_INVALID_RADIUS = -2147216047,
  524.     FDO_E_SE_LOAD_ONLY_LAYER = -2147216046,
  525.     FDO_E_SE_LAYERS_NOT_FOUND = -2147216045,
  526.     FDO_E_SE_FILE_IO_ERROR = -2147216044,
  527.     FDO_E_SE_BLOB_SIZE_TOO_LARGE = -2147216043,
  528.     FDO_E_SE_CORRIDOR_OUT_OF_BOUNDS = -2147216042,
  529.     FDO_E_SE_SHAPE_INTEGRITY_ERROR = -2147216041,
  530.     FDO_E_SE_NOT_IMPLEMENTED_YET = -2147216040,
  531.     FDO_E_SE_CAD_EXISTS = -2147216039,
  532.     FDO_E_SE_INVALID_TRANSID = -2147216038,
  533.     FDO_E_SE_INVALID_LAYER_NAME = -2147216037,
  534.     FDO_E_SE_INVALID_LAYER_KEYWORD = -2147216036,
  535.     FDO_E_SE_INVALID_RELEASE = -2147216035,
  536.     FDO_E_SE_VERSION_TBL_EXISTS = -2147216034,
  537.     FDO_E_SE_COLUMN_NOT_BOUND = -2147216033,
  538.     FDO_E_SE_INVALID_INDICATOR_VALUE = -2147216032,
  539.     FDO_E_SE_INVALID_CONNECTION = -2147216031,
  540.     FDO_E_SE_INVALID_DBA_PASSWORD = -2147216030,
  541.     FDO_E_SE_PATH_NOT_FOUND = -2147216029,
  542.     FDO_E_SE_SDEHOME_NOT_SET = -2147216028,
  543.     FDO_E_SE_NOT_TABLE_OWNER = -2147216027,
  544.     FDO_E_SE_PROCESS_NOT_FOUND = -2147216026,
  545.     FDO_E_SE_INVALID_DBMS_LOGIN = -2147216025,
  546.     FDO_E_SE_PASSWORD_TIMEOUT = -2147216024,
  547.     FDO_E_SE_INVALID_SERVER = -2147216023,
  548.     FDO_E_SE_IOMGR_NOT_AVAILABLE = -2147216022,
  549.     FDO_E_SE_SERVICE_NOT_FOUND = -2147216021,
  550.     FDO_E_SE_INVALID_STATS_TYPE = -2147216020,
  551.     FDO_E_SE_INVALID_DISTINCT_TYPE = -2147216019,
  552.     FDO_E_SE_INVALID_GRANT_REVOKE = -2147216018,
  553.     FDO_E_SE_INVALID_SDEHOME = -2147216017,
  554.     FDO_E_SE_INVALID_STREAM = -2147216016,
  555.     FDO_E_SE_TOO_MANY_STREAMS = -2147216015,
  556.     FDO_E_SE_OUT_OF_MUTEXES = -2147216014,
  557.     FDO_E_SE_CONNECTION_LOCKED = -2147216013,
  558.     FDO_E_SE_CONNECTION_IN_USE = -2147216012,
  559.     FDO_E_SE_NOT_A_SELECT_STATEMENT = -2147216011,
  560.     FDO_E_SE_FUNCTION_SEQUENCE_ERROR = -2147216010,
  561.     FDO_E_SE_WRONG_COLUMN_TYPE = -2147216009,
  562.     FDO_E_SE_PTABLE_LOCKED = -2147216008,
  563.     FDO_E_SE_PTABLE_IN_USE = -2147216007,
  564.     FDO_E_SE_STABLE_LOCKED = -2147216006,
  565.     FDO_E_SE_STABLE_IN_USE = -2147216005,
  566.     FDO_E_SE_INVALID_FILTER_TYPE = -2147216004,
  567.     FDO_E_SE_NO_CAD = -2147216003,
  568.     FDO_E_SE_INSTANCE_NOT_AVAILABLE = -2147216002,
  569.     FDO_E_SE_INSTANCE_TOO_EARLY = -2147216001,
  570.     FDO_E_SE_INVALID_SYSTEM_UNITS = -2147216000,
  571.     FDO_E_SE_INVALID_UNITS = -2147215999,
  572.     FDO_E_SE_INVALID_CAD_OBJECT = -2147215998,
  573.     FDO_E_SE_VERSION_NOEXIST = -2147215997,
  574.     FDO_E_SE_INVALID_SPATIAL_CONSTRAINT = -2147215996,
  575.     FDO_E_SE_INVALID_STREAM_TYPE = -2147215995,
  576.     FDO_E_SE_INVALID_SPATIAL_COLUMN = -2147215994,
  577.     FDO_E_SE_NO_SPATIAL_MASKS = -2147215993,
  578.     FDO_E_SE_IOMGR_NOT_FOUND = -2147215992,
  579.     FDO_E_SE_SYSTEM_IS_CLIENT_ONLY = -2147215991,
  580.     FDO_E_SE_MULTIPLE_SPATIAL_COLS = -2147215990,
  581.     FDO_E_SE_INVALID_SHAPE_OBJECT = -2147215989,
  582.     FDO_E_SE_INVALID_PARTNUM = -2147215988,
  583.     FDO_E_SE_INCOMPATIBLE_SHAPES = -2147215987,
  584.     FDO_E_SE_INVALID_PART_OFFSET = -2147215986,
  585.     FDO_E_SE_INCOMPATIBLE_COORDREFS = -2147215985,
  586.     FDO_E_SE_COORD_OUT_OF_BOUNDS = -2147215984,
  587.     FDO_E_SE_LAYER_CACHE_FULL = -2147215983,
  588.     FDO_E_SE_INVALID_COORDREF_OBJECT = -2147215982,
  589.     FDO_E_SE_INVALID_COORDSYS_ID = -2147215981,
  590.     FDO_E_SE_INVALID_COORDSYS_DESC = -2147215980,
  591.     FDO_E_SE_INVALID_ROW_ID_LAYER = -2147215979,
  592.     FDO_E_SE_PROJECTION_ERROR = -2147215978,
  593.     FDO_E_SE_ARRAY_BYTES_EXCEEDED = -2147215977,
  594.     FDO_E_SE_POLY_SHELLS_OVERLAP = -2147215976,
  595.     FDO_E_SE_TOO_FEW_POINTS = -2147215975,
  596.     FDO_E_SE_INVALID_PART_SEPARATOR = -2147215974,
  597.     FDO_E_SE_INVALID_POLYGON_CLOSURE = -2147215973,
  598.     FDO_E_SE_INVALID_OUTER_SHELL = -2147215972,
  599.     FDO_E_SE_ZERO_AREA_POLYGON = -2147215971,
  600.     FDO_E_SE_POLYGON_HAS_VERTICAL_LINE = -2147215970,
  601.     FDO_E_SE_OUTER_SHELLS_OVERLAP = -2147215969,
  602.     FDO_E_SE_SELF_INTERSECTING = -2147215968,
  603.     FDO_E_SE_INVALID_EXPORT_FILE = -2147215967,
  604.     FDO_E_SE_READ_ONLY_SHAPE = -2147215966,
  605.     FDO_E_SE_INVALID_DATA_SOURCE = -2147215965,
  606.     FDO_E_SE_INVALID_STREAM_SPEC = -2147215964,
  607.     FDO_E_SE_INVALID_ALTER_OPERATION = -2147215963,
  608.     FDO_E_SE_INVALID_SPATIAL_COL_NAME = -2147215962,
  609.     FDO_E_SE_INVALID_DATABASE = -2147215961,
  610.     FDO_E_SE_SPATIAL_SQL_NOT_INSTALLED = -2147215960,
  611.     FDO_E_SE_NORM_DIM_INFO_NOT_FOUND = -2147215959,
  612.     FDO_E_SE_NORM_DIM_TAB_VALUE_NOT_FOUND = -2147215958,
  613.     FDO_E_SE_UNSUPPORTED_NORMALIZED_OPERATION = -2147215957,
  614.     FDO_E_SE_INVALID_REGISTERED_LAYER_OPTION = -2147215956,
  615.     FDO_E_SE_READ_ONLY = -2147215955,
  616.     FDO_E_SE_NO_SDE_ROWID_COLUMN = -2147215954,
  617.     FDO_E_SE_READ_ONLY_COLUMN = -2147215953,
  618.     FDO_E_SE_INVALID_VERSION_NAME = -2147215952,
  619.     FDO_E_SE_STATE_NOEXIST = -2147215951,
  620.     FDO_E_SE_INVALID_STATEINFO_OBJECT = -2147215950,
  621.     FDO_E_SE_VERSION_HAS_MOVED = -2147215949,
  622.     FDO_E_SE_STATE_HAS_CHILDREN = -2147215948,
  623.     FDO_E_SE_PARENT_NOT_CLOSED = -2147215947,
  624.     FDO_E_SE_VERSION_EXISTS = -2147215946,
  625.     FDO_E_SE_TABLE_NOT_MULTIVERSION = -2147215945,
  626.     FDO_E_SE_STATE_USED_BY_VERSION = -2147215944,
  627.     FDO_E_SE_INVALID_VERSIONINFO_OBJECT = -2147215943,
  628.     FDO_E_SE_INVALID_STATE_ID = -2147215942,
  629.     FDO_E_SE_SDETRACELOC_NOT_SET = -2147215941,
  630.     FDO_E_SE_ERROR_LOADING_SSA = -2147215940,
  631.     FDO_E_SE_TOO_MANY_STATES = -2147215939,
  632.     FDO_E_SE_STATES_ARE_SAME = -2147215938,
  633.     FDO_E_SE_NO_ROWID_COLUMN = -2147215937,
  634.     FDO_E_SE_NO_STATE_SET = -2147215936,
  635.     FDO_E_SE_SSA_FUNCTION_ERROR = -2147215935,
  636.     FDO_E_SE_INVALID_REGINFO_OBJECT = -2147215934,
  637.     FDO_E_SE_NO_COMMON_LINEAGE = -2147215933,
  638.     FDO_E_SE_STATE_INUSE = -2147215932,
  639.     FDO_E_SE_STATE_TREE_INUSE = -2147215931,
  640.     FDO_E_SE_INVALID_RASTER_COLUMN = -2147215930,
  641.     FDO_E_SE_RASTERCOLUMN_EXISTS = -2147215929,
  642.     FDO_E_SE_INVALID_MVTABLE_INDEX = -2147215928,
  643.     FDO_E_SE_INVALID_STORAGE_TYPE = -2147215927,
  644.     FDO_E_SE_AMBIGUOUS_NIL_SHAPE = -2147215926,
  645.     FDO_E_SE_INVALID_BYTE_ORDER = -2147215925,
  646.     FDO_E_SE_INVALID_GEOMETRY_TYPE = -2147215924,
  647.     FDO_E_SE_INVALID_NUM_MEASURES = -2147215923,
  648.     FDO_E_SE_INVALID_NUM_PARTS = -2147215922,
  649.     FDO_E_SE_BINARY_TOO_SMALL = -2147215921,
  650.     FDO_E_SE_SHAPE_TEXT_TOO_LONG = -2147215920,
  651.     FDO_E_SE_SHAPE_TEXT_ERROR = -2147215919,
  652.     FDO_E_SE_TOO_MANY_PARTS = -2147215918,
  653.     FDO_E_SE_TYPE_MISMATCH = -2147215917,
  654.     FDO_E_SE_SQL_PARENTHESIS_MISMATCH = -2147215916,
  655.     FDO_E_SE_NIL_SHAPE_NOT_ALLOWED = -2147215915,
  656.     FDO_E_SE_INSTANCE_ALREADY_RUNNING = -2147215914,
  657.     FDO_E_SE_UNSUPPORTED_OPERATION = -2147215913,
  658.     FDO_E_SE_INVALID_EXTERNAL_LAYER_OPTION = -2147215912,
  659.     FDO_E_SE_NORMALIZE_VALUE_NOT_FOUND = -2147215911,
  660.     FDO_E_SE_INVALID_QUERY_TYPE = -2147215910,
  661.     FDO_E_SE_NO_TRACE_LIBRARY = -2147215909,
  662.     FDO_E_SE_TRACE_ON = -2147215908,
  663.     FDO_E_SE_TRACE_OFF = -2147215907,
  664.     FDO_E_SE_SCL_SYNTAX_ERROR = -2147215906,
  665.     FDO_E_SE_TABLE_REGISTERED = -2147215905,
  666.     FDO_E_SE_INVALID_REGISTRATION_ID = -2147215904,
  667.     FDO_E_SE_TABLE_NOREGISTERED = -2147215903,
  668.     FDO_E_SE_TOO_MANY_REGISTRATIONS = -2147215902,
  669.     FDO_E_SE_DELETE_NOT_ALLOWED = -2147215901,
  670.     FDO_E_SE_RASTERCOLUMN_INUSE = -2147215898,
  671.     FDO_E_SE_RASTERCOLUMN_NOEXIST = -2147215897,
  672.     FDO_E_SE_INVALID_RASTERCOLUMN_NUMBER = -2147215896,
  673.     FDO_E_SE_TOO_MANY_RASTERCOLUMNS = -2147215895,
  674.     FDO_E_SE_INVALID_RASTER_NUMBER = -2147215894,
  675.     FDO_E_SE_NO_REQUEST_STATUS = -2147215893,
  676.     FDO_E_SE_NO_REQUEST_RESULTS = -2147215892,
  677.     FDO_E_SE_RASTERBAND_EXISTS = -2147215891,
  678.     FDO_E_SE_RASTERBAND_NOEXIST = -2147215890,
  679.     FDO_E_SE_RASTER_EXISTS = -2147215889,
  680.     FDO_E_SE_RASTER_NOEXIST = -2147215888,
  681.     FDO_E_SE_TOO_MANY_RASTERBANDS = -2147215887,
  682.     FDO_E_SE_TOO_MANY_RASTERS = -2147215886,
  683.     FDO_E_SE_VIEW_EXISTS = -2147215885,
  684.     FDO_E_SE_VIEW_NOEXIST = -2147215884,
  685.     FDO_E_SE_LOCK_EXISTS = -2147215883,
  686.     FDO_E_SE_ROWLOCK_MASK_CONFLICT = -2147215882,
  687.     FDO_E_SE_NOT_IN_RASTER = -2147215881,
  688.     FDO_E_SE_INVALID_RASBANDINFO_OBJECT = -2147215880,
  689.     FDO_E_SE_INVALID_RASCOLINFO_OBJECT = -2147215879,
  690.     FDO_E_SE_INVALID_RASTERINFO_OBJECT = -2147215878,
  691.     FDO_E_SE_INVALID_RASTERBAND_NUMBER = -2147215877,
  692.     FDO_E_SE_MULTIPLE_RASTER_COLS = -2147215876,
  693.     FDO_E_SE_TABLE_SCHEMA_IS_LOCKED = -2147215875,
  694.     FDO_E_SE_INVALID_LOGINFO_OBJECT = -2147215874,
  695.     FDO_E_SE_SQL_TOO_LONG = -2147215873,
  696.     FDO_E_SE_UNSUPPORTED_ON_VIEW = -2147215872,
  697.     FDO_E_SE_LOG_EXISTS = -2147215871,
  698.     FDO_E_SE_SDE_WARNING = -2147215870,
  699.     FDO_E_SE_ETYPE_CHANGED = -2147215869,
  700.     FDO_E_SE_NO_ROWS_DELETED = -2147215868,
  701.     FDO_E_SE_TOO_MANY_DISTINCTS = -2147215867,
  702.     FDO_E_SE_NULL_VALUE = -2147215866,
  703.     FDO_E_SE_NO_ROWS_UPDATED = -2147215865,
  704.     FDO_E_SE_NO_CPGCVT = -2147215864,
  705.     FDO_E_SE_NO_CPGHOME = -2147215863,
  706.     FDO_E_SE_DBMS_DOES_NOT_SUPPORT = -2147215862,
  707.     FDO_E_SE_ROWLOCKING_ENABLED = -2147215861,
  708.     FDO_E_SE_ROWLOCKING_NOT_ENABLED = -2147215860,
  709.     FDO_E_SE_LOG_IS_OPEN = -2147215859,
  710.     FDO_E_SE_SPATIALREF_EXISTS = -2147215858,
  711.     FDO_E_SE_SPATIALREF_NOEXIST = -2147215857,
  712.     FDO_E_SE_SPATIALREF_IN_USE = -2147215856,
  713.     FDO_E_SE_INVALID_SPATIALREFINFO_OBJECT = -2147215855,
  714.     FDO_E_SE_INVALID_FUNCTION_ID = -2147215854,
  715.     FDO_E_SE_MOSAIC_NOT_ALLOWED = -2147215853,
  716.     FDO_E_RELATIONSHIPCLASS_NOT_FOUND = -2147215871,
  717.     FDO_E_RELATIONSHIPCLASS_INVALID_NAME = -2147215870,
  718.     FDO_E_RELATIONSHIPCLASS_ALREADY_EXISTS = -2147215869,
  719.     FDO_E_RELATIONSHIPCLASS_INVALID_SPEC = -2147215868,
  720.     FDO_E_INVALID_CONNECTIVITY_RULE = -2147215791,
  721.     FDO_E_VALIDATION_NOT_SUPPORTED = -2147215790,
  722.     FDO_E_INVALID_CARDINALITY = -2147215789,
  723.     FDO_E_DEFAULT_JUNCTIONS_NOT_SUPPORTED_IN_RELEASE = -2147215788,
  724.     FDO_E_ALTERING_RULE_NOT_SUPPORTED = -2147215787,
  725.     FDO_E_CONNECTIVITY_RULES_NOT_SUPPORTED = -2147215786,
  726.     FDO_E_CANNOT_ALTER_NON_EXISTANT_RULE = -2147215785,
  727.     FDO_E_RULE_NOT_FOUND = -2147215784,
  728.     FDO_E_ZERO_LENGTH_POLYLINE = -2147215615,
  729.     FDO_E_CLOSED_POLYLINE = -2147215614,
  730.     FDO_E_NO_NETWORK_ANCILLARY_ROLE = -2147215613,
  731.     FDO_E_FLIPPED_POLYLINE = -2147215612,
  732.     FDO_E_CANNOT_SPLIT_JUNCTION = -2147215611,
  733.     FDO_E_INVALID_NETWORK_ANCILLARY_ROLE = -2147215610,
  734.     FDO_E_CANNOT_ADD_ORPHAN_JUNCTION_ON_EXISTING_JUNCTION = -2147215609,
  735.     FDO_E_INVALID_JUNCTION_INDEX = -2147215608,
  736.     FDO_E_CANNOT_SET_ENABLED_FIELD = -2147215607,
  737.     FDO_E_CANNOT_SET_WEIGHT_FIELD = -2147215606,
  738.     FDO_E_INVALID_GEOMETRY_FOR_COMPLEX_JUNCTION = -2147215605,
  739.     FDO_E_INVALID_GEOMETRY_TYPE_FOR_NETWORK_FEATURE_CLASS = -2147215604,
  740.     FDO_E_NO_ASSOCIATED_NETWORK_ELEMENT = -2147215603,
  741.     FDO_E_IDENTICAL_FROM_TO_JUNCTIONS = -2147215602,
  742.     FDO_E_EDGE_MISSING_ENDPOINT_JUNCTION = -2147215601,
  743.     FDO_E_CONNECTED_EDGE_INVALID_CONNECTIVITY = -2147215600,
  744.     FDO_E_DOMAIN_NOT_FOUND = -2147215535,
  745.     FDO_E_DOMAIN_USED_BY_ATTRIBUTE_RULE = -2147215534,
  746.     FDO_E_DOMAIN_USED_AS_DEFAULT_DOMAIN = -2147215533,
  747.     FDO_E_DOMAIN_NAME_ALREADY_EXISTS = -2147215532,
  748.     FDO_E_DOMAIN_VALUE_EXCEEDS_FIELD_LENGTH = -2147215531,
  749.     FDO_E_DOMAIN_OWNER_DOESNT_MATCH = -2147215530,
  750.     FDO_E_DOMAIN_FIELD_TYPE_DOESNT_MATCH = -2147215529,
  751.     FDO_E_DOMAIN_TYPE_NOT_SUPPORTED = -2147215528,
  752.     FDO_E_CODED_VALUE_DOMAIN_VALUE_ALREADY_EXISTS = -2147215527,
  753.     FDO_E_CANNOT_LOCK_COCREATED_DOMAIN = -2147215526,
  754.     FDO_E_DOMAIN_USED_BY_OTHER_WORKSPACE = -2147215525,
  755.     FDO_E_DOMAIN_FIELD_TYPE_MISMATCH = -2147215524,
  756.     FDO_E_CANNOT_LOCK_DOMAIN_AS_NOT_OWNER = -2147215523,
  757.     FDO_E_DEFAULT_DOMAIN_NOT_FOUND = -2147215522,
  758.     FDO_E_DOMAIN_RECORD_NOT_FOUND = -2147215521,
  759.     FDO_E_DOMAIN_TYPE_DOESNT_MATCH = -2147215520,
  760.     FDO_E_DEFAULT_VALUE_NOT_NULLABLE = -2147215359,
  761.     FDO_E_DEFAULT_VALUE_INVALID = -2147215358,
  762.     FDO_E_OBJECT_IN_ANOTHER_FEATUREDATASET = -2147215279,
  763.     FDO_E_XML_PARSE_ERROR = -2147215103,
  764.     FDO_E_TOPOLOGY_ILLEGAL_RESHAPE = -2147215023,
  765.     FDO_E_TOPOLOGY_ALREADY_EXISTS = -2147215022,
  766.     FDO_E_TOPOLOGY_NOT_FOUND = -2147215021,
  767.     FDO_E_TOPOLOGY_CANNOT_RENAME = -2147215020,
  768.     FDO_E_INVALID_FEATURE_TYPE_FOR_TOPOLOGY = -2147215019,
  769.     FDO_E_INVALID_GEOMETRY_TYPE_FOR_TOPOLOGY = -2147215018,
  770.     FDO_E_INVALID_TOPOLOGY_RULE = -2147215017,
  771.     FDO_E_TOPOLOGY_WORKSPACE_EXTENSION_NOT_FOUND = -2147215016,
  772.     FDO_E_CANNOT_RESET_CLUSTER_TOLERANCE = -2147215015,
  773.     FDO_E_TOPOLOGIES_NOT_SUPPORTED_IN_RELEASE = -2147215014,
  774.     FDO_E_TOPOLOGY_INVALID_WEIGHT = -2147215013,
  775.     FDO_E_CANNOT_MODIFY_TOPOLOGY_ERROR_FEATURE = -2147215012,
  776.     FDO_E_TOPOCLASSES_SYSTEM_TABLE_INCONSISTENCY = -2147215011,
  777.     FDO_E_INVALID_CLUSTER_TOLERANCE = -2147215010,
  778.     FDO_E_INVALID_GEOMETRY_TYPE_FOR_TOPOLOGY_RULE = -2147215009,
  779.     FDO_E_NOT_SUPPORTED_ON_TOPOLOGY_ERROR_FEATURE = -2147215008,
  780.     FDO_E_CANNOT_MODIFY_TOPOLOGY_TABLES = -2147215007,
  781.     FDO_E_TOPOLOGY_EDGE_NOT_SELECTABLE = -2147215006,
  782.     FDO_E_CLASS_ALREADY_MEMBER_OF_TOPOLOGY = -2147215005,
  783.     FDO_E_EMPTY_ENVELOPE_FOR_CLEAN = -2147215004,
  784.     FDO_E_INVALID_TOPOLOGY_ID = -2147215003,
  785.     FDO_E_TOPOLOGY_ENGINE_FAILURE = -2147215002,
  786.     FDO_E_TOPOLOGY_ENGINE_OVERPROC_FAILURE = -2147215001,
  787.     FDO_E_INVALID_TOPOLOGY_RULE_TYPE = -2147215000,
  788.     FDO_E_NO_PARTIAL_REBUILD = -2147214999,
  789.     FDO_E_CANNOT_ADD_REGISTERED_CLASS_TO_TOPOLOGY = -2147214998,
  790.     FDO_E_TOPOLOGY_ERROR_OVERFLOW = -2147214997,
  791.     FDO_E_NETWORK_CANNOT_RENAME = -2147214996,
  792.     FDO_E_NETWORK_INVALID_TYPE = -2147214995,
  793.     FDO_E_NETWORK_ALREADY_EXISTS = -2147214994,
  794.     FDO_E_NETWORK_INVALID_GEOMETRY_TYPE = -2147214993,
  795.     FDO_E_NETWORK_NOT_FOUND = -2147214992,
  796.     FDO_E_VERSIONING_NOT_SUPPORTED = -2147214991,
  797.     FDO_E_CLASS_NOT_IN_TOPOLOGIES_FEATURE_DATASET = -2147214990,
  798.     FDO_E_TOPOLOGY_HAS_NO_CLASSES = -2147214989,
  799.     FDO_E_TOPOLOGY_INVALID_RANK = -2147214988,
  800.     FDO_E_OUT_OF_PHYSICAL_MEMORY = -2147214987,
  801.     FDO_E_TOPOLOGY_OPERATION_CANCELLED = -2147214986,
  802.     FDO_E_CLASS_NOT_IN_TOPOLOGY = -2147214985,
  803.     FDO_E_MODIFY_EDGE_ENDPOINT = -2147214984,
  804.     FDO_E_CANNOT_ADD_STANDALONE_CLASS_TO_TOPOLOGY = -2147214983,
  805.     FDO_E_CLASS_IN_TOPOLOGY_REQUIRES_EDIT_SESSION = -2147214982,
  806.     FDO_E_CANNOT_ADD_RULE_TO_VERSIONED_TOPOLOGY = -2147214981,
  807.     FDO_E_TOPOLOGY_SCHEMA_LOCK_CONFLICT = -2147214980,
  808.     FDO_E_DIRTY_AREA_OUTSIDE_SPATIAL_DOMAIN = -2147214979,
  809.     FDO_E_TOPOLOGY_INVALID_NAME = -2147214978,
  810.     FDO_E_TOPOLOGY_ENGINE_TEMP_SPACE_EXHAUSTED = -2147214977,
  811.     FDO_E_INCONSISTENT_TOPOLOGY_RULE = -2147214976,
  812.     FDO_E_UNSUPPORTED_TOPOLOGY_RULE = -2147214975,
  813.     FDO_E_INVALID_TOPOLOGY_RULE_CLASS_ASSIGNMENT = -2147214974,
  814.     FDO_E_OPERATION_NOT_SUPPORTED_IN_EDIT_SESSION = -2147214973,
  815.     FDO_E_TOPOLOGY_EMPTY_GEOMETRY = -2147214972,
  816.     FDO_E_TOPOLOGY_EXTENT_TOO_LARGE = -2147214971,
  817.     FDO_E_Z_CLUSTER_TOLERANCE_NOT_SUPPORTED_IN_RELEASE = -2147214970,
  818.     FDO_E_NAME_STRING_SYNTAX = -2147213231,
  819.     FDO_E_INVALID_IMPORT_XML = -2147213055,
  820.     FDO_E_CLASS_NOT_REPLICABLE = -2147212975,
  821.     FDO_E_SYNCHRONIZATION_CONFLICTS = -2147212974,
  822.     FDO_E_CANNOT_SYNCHRONIZE = -2147212973,
  823.     FDO_E_REPLICA_NOT_FOUND = -2147212972,
  824.     FDO_E_RECONCILE_FAILED = -2147212971,
  825.     FDO_E_INVALID_REPLICA = -2147212970
  826. };
  827. struct __declspec(uuid("45196db7-5fa4-4596-9d2e-7557bbeeda92"))
  828. ITopologyProtectNames : IUnknown
  829. {
  830.     //
  831.     // Raw methods provided by interface
  832.     //
  833.     virtual HRESULT __stdcall Topology ( ) = 0;
  834.     virtual HRESULT __stdcall Errors ( ) = 0;
  835.     virtual HRESULT __stdcall Rules ( ) = 0;
  836.     virtual HRESULT __stdcall TopologyName ( ) = 0;
  837.     virtual HRESULT __stdcall TopologyID ( ) = 0;
  838.     virtual HRESULT __stdcall ErrorFeature ( ) = 0;
  839.     virtual HRESULT __stdcall ErrorClass ( ) = 0;
  840.     virtual HRESULT __stdcall Exceptions ( ) = 0;
  841.     virtual HRESULT __stdcall SelectionChanged ( ) = 0;
  842.     virtual HRESULT __stdcall EventNotificationOnValidate ( ) = 0;
  843.     virtual HRESULT __stdcall ObjectClass ( ) = 0;
  844.     virtual HRESULT __stdcall XYRank ( ) = 0;
  845.     virtual HRESULT __stdcall ZRank ( ) = 0;
  846.     virtual HRESULT __stdcall RuleID ( ) = 0;
  847.     virtual HRESULT __stdcall RuleGUID ( ) = 0;
  848.     virtual HRESULT __stdcall TrustedArea ( ) = 0;
  849. };
  850. struct __declspec(uuid("d4c2be91-c50c-11d1-8876-0000f877762d"))
  851. ITableWrite : IUnknown
  852. {
  853.     //
  854.     // Raw methods provided by interface
  855.     //
  856.     virtual HRESULT __stdcall DeleteRows (
  857.         struct ISet * Rows ) = 0;
  858.     virtual HRESULT __stdcall RemoveDeletedRows (
  859.         struct ISet * Rows ) = 0;
  860.     virtual HRESULT __stdcall WriteMovedRows (
  861.         struct ISet * Rows,
  862.         struct ILine * moveVector ) = 0;
  863.     virtual HRESULT __stdcall WriteRotatedRows (
  864.         struct ISet * Rows,
  865.         struct IPoint * Origin,
  866.         double angle ) = 0;
  867.     virtual HRESULT __stdcall WriteChangedRows (
  868.         struct ISet * Rows ) = 0;
  869.     virtual HRESULT __stdcall WriteRow (
  870.         struct IRow * Row ) = 0;
  871.     virtual HRESULT __stdcall WriteRows (
  872.         struct ISet * Rows ) = 0;
  873.     virtual HRESULT __stdcall RemoveRow (
  874.         struct IRow * Row ) = 0;
  875.     virtual HRESULT __stdcall RemoveRows (
  876.         struct ISet * Rows ) = 0;
  877.     virtual HRESULT __stdcall UpdateRows (
  878.         struct IQueryFilter * QueryFilter,
  879.         VARIANT_BOOL Recycling,
  880.         struct ICursor * * Cursor ) = 0;
  881.     virtual HRESULT __stdcall InsertRows (
  882.         VARIANT_BOOL useBuffering,
  883.         struct ICursor * * Cursor ) = 0;
  884. };
  885. struct __declspec(uuid("89e7591a-c287-11d1-aa77-00c04fa33a15"))
  886. IFeatureDatasetName : IUnknown
  887. {
  888.     //
  889.     // Raw methods provided by interface
  890.     //
  891.     virtual HRESULT __stdcall get_FeatureClassNames (
  892.         struct IEnumDatasetName * * FeatureClassNames ) = 0;
  893.     virtual HRESULT __stdcall get_GeometricNetworkNames (
  894.         struct IEnumDatasetName * * GeometricNetworkNames ) = 0;
  895.     virtual HRESULT __stdcall get_TableNames (
  896.         struct IEnumDatasetName * * FeatureClassNames ) = 0;
  897.     virtual HRESULT __stdcall get_RelationshipClassNames (
  898.         struct IEnumDatasetName * * RelationshipClassNames ) = 0;
  899. };
  900. struct __declspec(uuid("2d661a88-8067-4579-b569-5531db29799a"))
  901. IFeatureDatasetName2 : IFeatureDatasetName
  902. {
  903.     //
  904.     // Raw methods provided by interface
  905.     //
  906.     virtual HRESULT __stdcall get_TopologyNames (
  907.         struct IEnumDatasetName * * TopologyNames ) = 0;
  908. };
  909. struct __declspec(uuid("e02ccce7-3490-11d3-9fbd-00c04f6bc724"))
  910. IFeatureDatasetManage : IUnknown
  911. {
  912.     //
  913.     // Raw methods provided by interface
  914.     //
  915.     virtual HRESULT __stdcall UpdateMDomain ( ) = 0;
  916. };
  917. struct __declspec(uuid("c3bff943-e069-11d1-aa82-00c04fa37585"))
  918. IFeatureClassLoad : IUnknown
  919. {
  920.     //
  921.     // Raw methods provided by interface
  922.     //
  923.     virtual HRESULT __stdcall get_LoadOnlyMode (
  924.         VARIANT_BOOL * isInLoadMode ) = 0;
  925.     virtual HRESULT __stdcall put_LoadOnlyMode (
  926.         VARIANT_BOOL isInLoadMode ) = 0;
  927. };
  928. struct __declspec(uuid("b3e3a101-c50c-11d1-8876-0000f877762d"))
  929. IFeatureClassWrite : IUnknown
  930. {
  931.     //
  932.     // Raw methods provided by interface
  933.     //
  934.     virtual HRESULT __stdcall WriteFeature (
  935.         struct IFeature * Feature ) = 0;
  936.     virtual HRESULT __stdcall WriteFeatures (
  937.         struct ISet * features ) = 0;
  938.     virtual HRESULT __stdcall RemoveFeature (
  939.         struct IFeature * Feature ) = 0;
  940.     virtual HRESULT __stdcall RemoveFeatures (
  941.         struct ISet * features ) = 0;
  942. };
  943. struct __declspec(uuid("3c5bbe8f-c9c3-11d1-aa7c-00c04fa33a15"))
  944. IFeatureClassName : IUnknown
  945. {
  946.     //
  947.     // Raw methods provided by interface
  948.     //
  949.     virtual HRESULT __stdcall get_ShapeType (
  950.         enum esriGeometryType * Type ) = 0;
  951.     virtual HRESULT __stdcall put_ShapeType (
  952.         enum esriGeometryType Type ) = 0;
  953.     virtual HRESULT __stdcall get_FeatureDatasetName (
  954.         struct IDatasetName * * FeatureDatasetName ) = 0;
  955.     virtual HRESULT __stdcall putref_FeatureDatasetName (
  956.         struct IDatasetName * FeatureDatasetName ) = 0;
  957.     virtual HRESULT __stdcall get_FeatureType (
  958.         enum esriFeatureType * Type ) = 0;
  959.     virtual HRESULT __stdcall put_FeatureType (
  960.         enum esriFeatureType Type ) = 0;
  961.     virtual HRESULT __stdcall get_ShapeFieldName (
  962.         BSTR * Name ) = 0;
  963.     virtual HRESULT __stdcall put_ShapeFieldName (
  964.         BSTR Name ) = 0;
  965. };
  966. struct __declspec(uuid("3b439634-cfc3-11d1-aead-0000f80372b4"))
  967. IFeatureClassContainer : IUnknown
  968. {
  969.     //
  970.     // Raw methods provided by interface
  971.     //
  972.     virtual HRESULT __stdcall get_Class (
  973.         long ClassIndex,
  974.         struct IFeatureClass * * fclass ) = 0;
  975.     virtual HRESULT __stdcall get_ClassByID (
  976.         long ID,
  977.         struct IFeatureClass * * FeatureClass ) = 0;
  978.     virtual HRESULT __stdcall get_ClassByName (
  979.         BSTR Name,
  980.         struct IFeatureClass * * FeatureClass ) = 0;
  981.     virtual HRESULT __stdcall get_ClassCount (
  982.         long * numClasses ) = 0;
  983.     virtual HRESULT __stdcall get_Classes (
  984.         struct IEnumFeatureClass * * Classes ) = 0;
  985. };
  986. struct __declspec(uuid("d4803ee5-79f4-11d0-97fc-0080c7f79481"))
  987. IEnumFeatureClass : IUnknown
  988. {
  989.     //
  990.     // Raw methods provided by interface
  991.     //
  992.     virtual HRESULT __stdcall Next (
  993.         struct IFeatureClass * * FeatureClass ) = 0;
  994.     virtual HRESULT __stdcall Reset ( ) = 0;
  995. };
  996. struct __declspec(uuid("60749651-4f54-11d2-89fc-006097aff44e"))
  997. IFeatureClassCreation : IUnknown
  998. {
  999.     //
  1000.     // Raw methods provided by interface
  1001.     //
  1002.     virtual HRESULT __stdcall get_CanCreateFromPoint (
  1003.         VARIANT_BOOL * CanCreateFromPoint ) = 0;
  1004. };
  1005. struct __declspec(uuid("b0e8d294-3a9c-11d1-9aa1-080009ec734b"))
  1006. IFeatureDraw : IUnknown
  1007. {
  1008.     //
  1009.     // Raw methods provided by interface
  1010.     //
  1011.     virtual HRESULT __stdcall Draw (
  1012.         enum esriDrawPhase drawPhase,
  1013.         struct IDisplay * Display,
  1014.         struct ISymbol * symbol,
  1015.         VARIANT_BOOL symbolInstalled,
  1016.         struct IGeometry * Geometry,
  1017.         enum esriDrawStyle drawStyle ) = 0;
  1018.     virtual HRESULT __stdcall putref_InvalidArea (
  1019.         struct IInvalidArea * InvalidArea ) = 0;
  1020.     virtual HRESULT __stdcall get_InvalidArea (
  1021.         struct IInvalidArea * * InvalidArea ) = 0;
  1022. };
  1023. enum esriDrawStyle
  1024. {
  1025.     esriDSNormal = 1,
  1026.     esriDSValid = 2,
  1027.     esriDSInvalid = 4,
  1028.     esriDSUnknown = 8
  1029. };
  1030. struct __declspec(uuid("a802ba73-d947-11d1-8484-0000f875b9c6"))
  1031. IInvalidArea : IUnknown
  1032. {
  1033.     //
  1034.     // Raw methods provided by interface
  1035.     //
  1036.     virtual HRESULT __stdcall get_Display (
  1037.         struct IScreenDisplay * * dpy ) = 0;
  1038.     virtual HRESULT __stdcall putref_Display (
  1039.         struct IScreenDisplay * dpy ) = 0;
  1040.     virtual HRESULT __stdcall Add (
  1041.         IUnknown * thing ) = 0;
  1042.     virtual HRESULT __stdcall Invalidate (
  1043.         short screenCache ) = 0;
  1044. };
  1045. struct __declspec(uuid("192ada11-33f1-11d3-9f6a-00c04f6bdf0c"))
  1046. IRowEdit : IUnknown
  1047. {
  1048.     //
  1049.     // Raw methods provided by interface
  1050.     //
  1051.     virtual HRESULT __stdcall DeleteSet (
  1052.         struct ISet * Rows ) = 0;
  1053. };
  1054. struct __declspec(uuid("33848e00-983b-11d1-8463-0000f875b9c6"))
  1055. IFeatureEdit : IRowEdit
  1056. {
  1057.     //
  1058.     // Raw methods provided by interface
  1059.     //
  1060.     virtual HRESULT __stdcall BeginMoveSet (
  1061.         struct ISet * features,
  1062.         struct IPoint * start,
  1063.         struct IDisplayFeedback * * feedback ) = 0;
  1064.     virtual HRESULT __stdcall MoveSet (
  1065.         struct ISet * features,
  1066.         struct ILine * moveVector ) = 0;
  1067.     virtual HRESULT __stdcall RotateSet (
  1068.         struct ISet * features,
  1069.         struct IPoint * Origin,
  1070.         double angle ) = 0;
  1071.     virtual HRESULT __stdcall Split (
  1072.         struct IGeometry * point,
  1073.         struct ISet * * newFeatures ) = 0;
  1074.     virtual HRESULT __stdcall SplitAttributes (
  1075.         struct IFeature * baseFeature ) = 0;
  1076. };
  1077. struct __declspec(uuid("10e6443f-fecb-11d3-9fa5-00c04f6bdf0c"))
  1078. IFeatureSimplify : IUnknown
  1079. {
  1080.     //
  1081.     // Raw methods provided by interface
  1082.     //
  1083.     virtual HRESULT __stdcall SimplifyGeometry (
  1084.         struct IGeometry * pGeometry ) = 0;
  1085. };
  1086. struct __declspec(uuid("b617fb50-c4fd-11d1-aea9-0000f80372b4"))
  1087. IFeatureElement : IUnknown
  1088. {
  1089.     //
  1090.     // Raw methods provided by interface
  1091.     //
  1092.     virtual HRESULT __stdcall get_Owner (
  1093.         struct IFeature * * Feature ) = 0;
  1094.     virtual HRESULT __stdcall get_ElementType (
  1095.         enum esriFeatureElementType * Type ) = 0;
  1096.     virtual HRESULT __stdcall get_Geometry (
  1097.         struct IGeometry * * Geometry ) = 0;
  1098.     virtual HRESULT __stdcall get_Parent (
  1099.         struct IFeatureElement * * Parent ) = 0;
  1100. };
  1101. enum esriFeatureElementType
  1102. {
  1103.     esriFETWholeFeature = 1,
  1104.     esriFETVertex = 2,
  1105.     esriFETEdge = 4,
  1106.     esriFETPart = 8,
  1107.     esriFETAnnotation = 16,
  1108.     esriFETConnectionPoint = 32,
  1109.     esriFETConnectorPoint = 64
  1110. };
  1111. struct __declspec(uuid("a175835a-c4fa-11d1-aea9-0000f80372b4"))
  1112. IFeatureConnect : IUnknown
  1113. {
  1114.     //
  1115.     // Raw methods provided by interface
  1116.     //
  1117.     virtual HRESULT __stdcall get_ConnectionPointCount (
  1118.         long * numPoints ) = 0;
  1119.     virtual HRESULT __stdcall get_ConnectionPoint (
  1120.         long connectionPointIndex,
  1121.         struct IFeatureElement * * ConnectionPoint ) = 0;
  1122.     virtual HRESULT __stdcall get_ConnectionPointName (
  1123.         long connectionPointIndex,
  1124.         BSTR * Name ) = 0;
  1125.     virtual HRESULT __stdcall get_ConnectionPointByName (
  1126.         BSTR ConnectionPointName,
  1127.         struct IFeatureElement * * ConnectionPoint ) = 0;
  1128. };
  1129. struct __declspec(uuid("e373db08-56ff-11d1-ae55-0000f80372b4"))
  1130. IEnumFeature : IUnknown
  1131. {
  1132.     //
  1133.     // Raw methods provided by interface
  1134.     //
  1135.     virtual HRESULT __stdcall Next (
  1136.         struct IFeature * * Feature ) = 0;
  1137.     virtual HRESULT __stdcall Reset ( ) = 0;
  1138. };
  1139. struct __declspec(uuid("705e133d-fcb6-43d5-9f6a-694198c85c20"))
  1140. IEnumObjectClass : IUnknown
  1141. {
  1142.     //
  1143.     // Raw methods provided by interface
  1144.     //
  1145.     virtual HRESULT __stdcall Next (
  1146.         struct IObjectClass * * ObjectClass ) = 0;
  1147.     virtual HRESULT __stdcall Reset ( ) = 0;
  1148. };
  1149. struct __declspec(uuid("b3cbc2e1-28e2-4bed-830d-d30cd500dc1c"))
  1150. IEnumTable : IUnknown
  1151. {
  1152.     //
  1153.     // Raw methods provided by interface
  1154.     //
  1155.     virtual HRESULT __stdcall Next (
  1156.         struct ITable * * oneClass ) = 0;
  1157.     virtual HRESULT __stdcall Reset ( ) = 0;
  1158. };
  1159. struct __declspec(uuid("e5b21410-17a6-11d4-9f4b-00c04f79927c"))
  1160. IQueryFilter2 : IQueryFilter
  1161. {
  1162.     //
  1163.     // Raw methods provided by interface
  1164.     //
  1165.     virtual HRESULT __stdcall get_SpatialResolution (
  1166.         double * resolution ) = 0;
  1167.     virtual HRESULT __stdcall put_SpatialResolution (
  1168.         double resolution ) = 0;
  1169. };
  1170. struct __declspec(uuid("fdfebd94-ed75-11d0-9a95-080009ec734b"))
  1171. ISpatialFilter : IQueryFilter
  1172. {
  1173.     //
  1174.     // Raw methods provided by interface
  1175.     //
  1176.     virtual HRESULT __stdcall get_SearchOrder (
  1177.         enum esriSearchOrder * order ) = 0;
  1178.     virtual HRESULT __stdcall put_SearchOrder (
  1179.         enum esriSearchOrder order ) = 0;
  1180.     virtual HRESULT __stdcall get_SpatialRel (
  1181.         enum esriSpatialRelEnum * SpatialRel ) = 0;
  1182.     virtual HRESULT __stdcall put_SpatialRel (
  1183.         enum esriSpatialRelEnum SpatialRel ) = 0;
  1184.     virtual HRESULT __stdcall get_Geometry (
  1185.         struct IGeometry * * Geometry ) = 0;
  1186.     virtual HRESULT __stdcall putref_Geometry (
  1187.         struct IGeometry * Geometry ) = 0;
  1188.     virtual HRESULT __stdcall putref_GeometryEx (
  1189.         struct IGeometry * Geometry,
  1190.         VARIANT_BOOL _arg2 ) = 0;
  1191.     virtual HRESULT __stdcall get_FilterOwnsGeometry (
  1192.         VARIANT_BOOL * spatialFilterOwnsGeometry ) = 0;
  1193.     virtual HRESULT __stdcall get_GeometryField (
  1194.         BSTR * geomField ) = 0;
  1195.     virtual HRESULT __stdcall put_GeometryField (
  1196.         BSTR geomField ) = 0;
  1197.     virtual HRESULT __stdcall get_SpatialRelDescription (
  1198.         BSTR * SpatialRelDescription ) = 0;
  1199.     virtual HRESULT __stdcall put_SpatialRelDescription (
  1200.         BSTR SpatialRelDescription ) = 0;
  1201. };
  1202. enum esriSearchOrder
  1203. {
  1204.     esriSearchOrderSpatial = 0,
  1205.     esriSearchOrderAttribute = 1
  1206. };
  1207. enum esriSpatialRelEnum
  1208. {
  1209.     esriSpatialRelUndefined = 0,
  1210.     esriSpatialRelIntersects = 1,
  1211.     esriSpatialRelEnvelopeIntersects = 2,
  1212.     esriSpatialRelIndexIntersects = 3,
  1213.     esriSpatialRelTouches = 4,
  1214.     esriSpatialRelOverlaps = 5,
  1215.     esriSpatialRelCrosses = 6,
  1216.     esriSpatialRelWithin = 7,
  1217.     esriSpatialRelContains = 8,
  1218.     esriSpatialRelRelation = 9
  1219. };
  1220. struct __declspec(uuid("2d0f935e-32f5-11d2-a06f-0000f8775bf9"))
  1221. ITableSort : IUnknown
  1222. {
  1223.     //
  1224.     // Raw methods provided by interface
  1225.     //
  1226.     virtual HRESULT __stdcall putref_Table (
  1227.         struct ITable * ppTable ) = 0;
  1228.     virtual HRESULT __stdcall putref_SelectionSet (
  1229.         struct ISelectionSet * ppSelectionSet ) = 0;
  1230.     virtual HRESULT __stdcall putref_Cursor (
  1231.         struct ICursor * _arg1 ) = 0;
  1232.     virtual HRESULT __stdcall putref_QueryFilter (
  1233.         struct IQueryFilter * ppQueryFilter ) = 0;
  1234.     virtual HRESULT __stdcall get_QueryFilter (
  1235.         struct IQueryFilter * * ppQueryFilter ) = 0;
  1236.     virtual HRESULT __stdcall put_Fields (
  1237.         BSTR _arg1 ) = 0;
  1238.     virtual HRESULT __stdcall put_Ascending (
  1239.         BSTR Field,
  1240.         VARIANT_BOOL _arg2 ) = 0;
  1241.     virtual HRESULT __stdcall put_SortCharacters (
  1242.         BSTR Field,
  1243.         long _arg2 ) = 0;
  1244.     virtual HRESULT __stdcall put_CaseSensitive (
  1245.         BSTR Field,
  1246.         VARIANT_BOOL _arg2 ) = 0;
  1247.     virtual HRESULT __stdcall putref_Compare (
  1248.         struct ITableSortCallBack * _arg1 ) = 0;
  1249.     virtual HRESULT __stdcall get_IDs (
  1250.         struct IEnumIDs * * ppEnumIDs ) = 0;
  1251.     virtual HRESULT __stdcall get_Rows (
  1252.         struct ICursor * * ppCursor ) = 0;
  1253.     virtual HRESULT __stdcall Sort (
  1254.         struct ITrackCancel * pTrackCancel ) = 0;
  1255.     virtual HRESULT __stdcall get_IDByIndex (
  1256.         long Index,
  1257.         long * pIdVal ) = 0;
  1258.     virtual HRESULT __stdcall get_Table (
  1259.         struct ITable * * ppTable ) = 0;
  1260.     virtual HRESULT __stdcall get_SelectionSet (
  1261.         struct ISelectionSet * * ppSelectionSet ) = 0;
  1262. };
  1263. struct __declspec(uuid("341943f3-9450-11d2-a087-0000f8775bf9"))
  1264. ITableSortCallBack : IUnknown
  1265. {
  1266.     //
  1267.     // Raw methods provided by interface
  1268.     //
  1269.     virtual HRESULT __stdcall Compare (
  1270.         VARIANT value1,
  1271.         VARIANT value2,
  1272.         long FieldIndex,
  1273.         long fieldSortIndex,
  1274.         int * pResult ) = 0;
  1275. };
  1276. struct __declspec(uuid("a2baae2c-969b-11d2-ae77-080009ec732a"))
  1277. IFieldInfo : IUnknown
  1278. {
  1279.     //
  1280.     // Raw methods provided by interface
  1281.     //
  1282.     virtual HRESULT __stdcall get_Visible (
  1283.         VARIANT_BOOL * Visible ) = 0;
  1284.     virtual HRESULT __stdcall put_Visible (
  1285.         VARIANT_BOOL Visible ) = 0;
  1286.     virtual HRESULT __stdcall get_Alias (
  1287.         BSTR * AliasName ) = 0;
  1288.     virtual HRESULT __stdcall put_Alias (
  1289.         BSTR AliasName ) = 0;
  1290.     virtual HRESULT __stdcall get_NumberFormat (
  1291.         struct INumberFormat * * Format ) = 0;
  1292.     virtual HRESULT __stdcall putref_NumberFormat (
  1293.         struct INumberFormat * Format ) = 0;
  1294.     virtual HRESULT __stdcall get_AsString (
  1295.         VARIANT Value,
  1296.         BSTR * stringRep ) = 0;
  1297. };
  1298. struct __declspec(uuid("e5966b0a-e3d9-11d3-a096-00c04f6bc626"))
  1299. ITableFields : IUnknown
  1300. {
  1301.     //
  1302.     // Raw methods provided by interface
  1303.     //
  1304.     virtual HRESULT __stdcall get_FieldCount (
  1305.         long * Count ) = 0;
  1306.     virtual HRESULT __stdcall get_Field (
  1307.         long Index,
  1308.         struct IField * * Field ) = 0;
  1309.     virtual HRESULT __stdcall get_FieldInfo (
  1310.         long Index,
  1311.         struct IFieldInfo * * FieldInfo ) = 0;
  1312.     virtual HRESULT __stdcall FindField (
  1313.         BSTR FieldName,
  1314.         long * Index ) = 0;
  1315. };
  1316. struct __declspec(uuid("436a48bc-56f6-11d1-ae55-0000f80372b4"))
  1317. IGraph : IUnknown
  1318. {
  1319.     //
  1320.     // Raw methods provided by interface
  1321.     //
  1322.     virtual HRESULT __stdcall Add (
  1323.         struct IFeature * NewFeature ) = 0;
  1324.     virtual HRESULT __stdcall AddFeatureClass (
  1325.         struct IFeatureClass * FeatureClass,
  1326.         BSTR EnabledFieldName,
  1327.         enum esriNetworkClassAncillaryRole role,
  1328.         BSTR AncillaryRoleFieldName ) = 0;
  1329.     virtual HRESULT __stdcall DeleteSet (
  1330.         struct ISet * featuresToDelete ) = 0;
  1331.     virtual HRESULT __stdcall get_FeatureDataset (
  1332.         struct IFeatureDataset * * FeatureDataset ) = 0;
  1333.     virtual HRESULT __stdcall GetDisplayFeedback (
  1334.         struct IFeature * Feature,
  1335.         struct ISet * features,
  1336.         struct IPoint * point,
  1337.         struct IDisplayFeedback * * feedback ) = 0;
  1338.     virtual HRESULT __stdcall Init (
  1339.         struct IFeatureDataset * Dataset,
  1340.         long graphID,
  1341.         BSTR graphName,
  1342.         VARIANT_BOOL buildNormalizedTables,
  1343.         VARIANT_BOOL createGraph ) = 0;
  1344.     virtual HRESULT __stdcall Merge (
  1345.         struct IEnumFeature * mergingFeatures,
  1346.         struct IEnumFeature * * newFeatures ) = 0;
  1347.     virtual HRESULT __stdcall Split (
  1348.         struct IEdgeFeature * splittingEdge,
  1349.         struct IGeometry * point,
  1350.         struct ISet * * newFeatures ) = 0;
  1351.     virtual HRESULT __stdcall TransformSet (
  1352.         struct ISet * features,
  1353.         enum esriTransformType Type,
  1354.         struct IAffineTransformation2D * tranformation ) = 0;
  1355.     virtual HRESULT __stdcall get_VertexBasedStretching (
  1356.         VARIANT_BOOL * vertexBased ) = 0;
  1357.     virtual HRESULT __stdcall put_VertexBasedStretching (
  1358.         VARIANT_BOOL vertexBased ) = 0;
  1359. };
  1360. struct __declspec(uuid("84fbb0c8-ea84-11d1-aecc-0000f80372b4"))
  1361. IEdgeFeature : IUnknown
  1362. {
  1363.     //
  1364.     // Raw methods provided by interface
  1365.     //
  1366.     virtual HRESULT __stdcall DisconnectAtEndpoint (
  1367.         long EID,
  1368.         long fromEID,
  1369.         long toEID,
  1370.         VARIANT_BOOL disconnectFrom,
  1371.         VARIANT_BOOL disconnectTo ) = 0;
  1372.     virtual HRESULT __stdcall DisconnectAtJunction (
  1373.         long EID,
  1374.         long junctionEID ) = 0;
  1375.     virtual HRESULT __stdcall get_GeometryForEdgeElement (
  1376.         long subID,
  1377.         struct IGeometry * * Geometry ) = 0;
  1378.     virtual HRESULT __stdcall get_FromJunctionEID (
  1379.         long * EID ) = 0;
  1380.     virtual HRESULT __stdcall get_FromJunctionFeature (
  1381.         struct IJunctionFeature * * junction ) = 0;
  1382.     virtual HRESULT __stdcall get_ToJunctionEID (
  1383.         long * EID ) = 0;
  1384.     virtual HRESULT __stdcall get_ToJunctionFeature (
  1385.         struct IJunctionFeature * * junction ) = 0;
  1386.     virtual HRESULT __stdcall get_FromToJunctionEIDs (
  1387.         struct IEnumNetEID * * EIDs ) = 0;
  1388.     virtual HRESULT __stdcall Update (
  1389.         struct INetworkFeature * callingFeature,
  1390.         struct IPoint * oldJunctionLocation,
  1391.         struct IPoint * newJunctionLocation,
  1392.         struct ISet * rigidEdges,
  1393.         struct ITransformGroup * group ) = 0;
  1394. };
  1395. struct __declspec(uuid("2c411bae-ea1a-11d1-aa91-00c04fa37b81"))
  1396. IJunctionFeature : IUnknown
  1397. {
  1398.     //
  1399.     // Raw methods provided by interface
  1400.     //
  1401.     virtual HRESULT __stdcall get_GeometryForJunctionElement (
  1402.         long subID,
  1403.         struct IGeometry * * Geometry ) = 0;
  1404.     virtual HRESULT __stdcall get_OriginalGeometryForJunctionElement (
  1405.         long subID,
  1406.         struct IGeometry * * Geometry ) = 0;
  1407.     virtual HRESULT __stdcall Update (
  1408.         struct INetworkFeature * callingFeature,
  1409.         struct IAffineTransformation2D * transformation,
  1410.         struct ISet * rigidEdges,
  1411.         struct ITransformGroup * group ) = 0;
  1412.     virtual HRESULT __stdcall get_NetworkAncillaryRole (
  1413.         enum esriNetworkFeatureAncillaryRole * role ) = 0;
  1414.     virtual HRESULT __stdcall put_NetworkAncillaryRole (
  1415.         enum esriNetworkFeatureAncillaryRole role ) = 0;
  1416. };
  1417. struct __declspec(uuid("317e551c-55fc-11d1-ae55-0000f80372b4"))
  1418. INetworkFeature : IUnknown
  1419. {
  1420.     //
  1421.     // Raw methods provided by interface
  1422.     //
  1423.     virtual HRESULT __stdcall get_GeometricNetwork (
  1424.         struct IGeometricNetwork * * Network ) = 0;
  1425.     virtual HRESULT __stdcall get_Enabled (
  1426.         VARIANT_BOOL * isEnabled ) = 0;
  1427.     virtual HRESULT __stdcall put_Enabled (
  1428.         VARIANT_BOOL isEnabled ) = 0;
  1429.     virtual HRESULT __stdcall Connect ( ) = 0;
  1430.     virtual HRESULT __stdcall Disconnect ( ) = 0;
  1431.     virtual HRESULT __stdcall OnDisconnect ( ) = 0;
  1432.     virtual HRESULT __stdcall CreateNetworkElements (
  1433.         struct IEnumNetEID * * newEIDs ) = 0;
  1434. };
  1435. struct __declspec(uuid("dbff01c2-5579-11d1-ae55-0000f80372b4"))
  1436. IGeometricNetwork : IGraph
  1437. {
  1438.     //
  1439.     // Raw methods provided by interface
  1440.     //
  1441.     virtual HRESULT __stdcall get_ClassesByNetworkAncillaryRole (
  1442.         enum esriNetworkClassAncillaryRole role,
  1443.         struct IEnumFeatureClass * * Classes ) = 0;
  1444.     virtual HRESULT __stdcall EstablishFlowDirection ( ) = 0;
  1445.     virtual HRESULT __stdcall get_ValidFlowDirection (
  1446.         VARIANT_BOOL * ValidFlowDirection ) = 0;
  1447.     virtual HRESULT __stdcall get_ClassesByType (
  1448.         enum esriFeatureType Type,
  1449.         struct IEnumFeatureClass * * featureClasses ) = 0;
  1450.     virtual HRESULT __stdcall CreateOrphanFeature (
  1451.         struct IPoint * location,
  1452.         long * orphanEID,
  1453.         struct ISimpleJunctionFeature * * orphan ) = 0;
  1454.     virtual HRESULT __stdcall get_EdgeElement (
  1455.         struct IPoint * location,
  1456.         long * edgeEID ) = 0;
  1457.     virtual HRESULT __stdcall get_InvalidArea (
  1458.         struct IInvalidArea * * InvalidArea ) = 0;
  1459.     virtual HRESULT __stdcall putref_InvalidArea (
  1460.         struct IInvalidArea * InvalidArea ) = 0;
  1461.     virtual HRESULT __stdcall get_JunctionElement (
  1462.         struct IPoint * location,
  1463.         long * junctionEID ) = 0;
  1464.     virtual HRESULT __stdcall get_Network (
  1465.         struct INetwork * * Network ) = 0;
  1466.     virtual HRESULT __stdcall get_NetworkType (
  1467.         enum esriNetworkType * Type ) = 0;
  1468.     virtual HRESULT __stdcall get_OrphanJunctionFeatureClass (
  1469.         struct IFeatureClass * * FeatureClass ) = 0;
  1470.     virtual HRESULT __stdcall AddRule (
  1471.         struct IConnectivityRule * Rule ) = 0;
  1472.     virtual HRESULT __stdcall DeleteRule (
  1473.         struct IConnectivityRule * Rule ) = 0;
  1474.     virtual HRESULT __stdcall get_Rules (
  1475.         struct IEnumRule * * Rules ) = 0;
  1476.     virtual HRESULT __stdcall get_RulesByClassAndSubtype (
  1477.         long ClassID,
  1478.         long SubtypeCode,
  1479.         struct IEnumRule * * Rules ) = 0;
  1480.     virtual HRESULT __stdcall SearchForNetworkFeature (
  1481.         struct IPoint * location,
  1482.         enum esriFeatureType Type,
  1483.         struct IEnumFeature * * features ) = 0;
  1484.     virtual HRESULT __stdcall get_GeometryForEdgeEID (
  1485.         long edgeEID,
  1486.         struct IGeometry * * Geometry ) = 0;
  1487.     virtual HRESULT __stdcall get_GeometryForJunctionEID (
  1488.         long junctionEID,
  1489.         struct IGeometry * * Geometry ) = 0;
  1490.     virtual HRESULT __stdcall get_NetworkFeature (
  1491.         struct INetElementDescription * networkElement,
  1492.         struct INetworkFeature * * Feature ) = 0;
  1493.     virtual HRESULT __stdcall SpliceSimpleJunction (
  1494.         struct ISimpleJunctionFeature * junction,
  1495.         long junctionEID,
  1496.         struct IGeometry * Geometry,
  1497.         VARIANT_BOOL forceConnectivity ) = 0;
  1498.     virtual HRESULT __stdcall AddJunctionWithSubsumption (
  1499.         struct ISimpleJunctionFeature * pJunction,
  1500.         long junctionEID,
  1501.         struct ISimpleJunctionFeature * pSubsumedJunction ) = 0;
  1502. };
  1503. struct __declspec(uuid("f9b04a4a-557a-11d1-ae55-0000f80372b4"))
  1504. ISimpleJunctionFeature : IUnknown
  1505. {
  1506.     //
  1507.     // Raw methods provided by interface
  1508.     //
  1509.     virtual HRESULT __stdcall get_EdgeFeatureCount (
  1510.         long * numFeatures ) = 0;
  1511.     virtual HRESULT __stdcall get_EdgeFeature (
  1512.         long Index,
  1513.         struct IEdgeFeature * * EdgeFeature ) = 0;
  1514.     virtual HRESULT __stdcall get_EID (
  1515.         long * ElementID ) = 0;
  1516. };
  1517. struct __declspec(uuid("f366a3fa-5362-11d2-ab1b-000000000000"))
  1518. IConnectivityRule : IRule
  1519. {};
  1520. struct __declspec(uuid("77118148-e91d-11d2-9f55-00c04f6bdd84"))
  1521. ITransformGroup : IUnknown
  1522. {
  1523.     //
  1524.     // Raw methods provided by interface
  1525.     //
  1526.     virtual HRESULT __stdcall Add (
  1527.         long ClassID,
  1528.         long OID,
  1529.         struct IFeature * Feature ) = 0;
  1530.     virtual HRESULT __stdcall Delete (
  1531.         long ClassID,
  1532.         long OID ) = 0;
  1533.     virtual HRESULT __stdcall DeleteAllInClass (
  1534.         long ClassID ) = 0;
  1535.     virtual HRESULT __stdcall Next (
  1536.         long * ClassID,
  1537.         long * OID,
  1538.         long * Count ) = 0;
  1539.     virtual HRESULT __stdcall Reset ( ) = 0;
  1540.     virtual HRESULT __stdcall NextSet (
  1541.         long * ClassID,
  1542.         struct ISet * * featureSet ) = 0;
  1543. };
  1544. enum esriNetworkFeatureAncillaryRole
  1545. {
  1546.     esriNFARNone = 0,
  1547.     esriNFARSource = 1,
  1548.     esriNFARSink = 2
  1549. };
  1550. enum esriTransformType
  1551. {
  1552.     esriTTMove = 1,
  1553.     esriTTStretch = 2,
  1554.     esriTTRotate = 3,
  1555.     esriTTProgrammatic = 4
  1556. };
  1557. struct __declspec(uuid("c833c1f6-90b8-11d3-9f7b-00c04f6bc886"))
  1558. IQueryName : IUnknown
  1559. {
  1560.     //
  1561.     // Raw methods provided by interface
  1562.     //
  1563.     virtual HRESULT __stdcall get_QueryDef (
  1564.         struct IQueryDef * * ppQueryDef ) = 0;
  1565.     virtual HRESULT __stdcall put_QueryDef (
  1566.         struct IQueryDef * ppQueryDef ) = 0;
  1567. };
  1568. struct __declspec(uuid("c1e0f902-0857-434e-84db-351b6747f155"))
  1569. IQueryName2 : IQueryName
  1570. {
  1571.     //
  1572.     // Raw methods provided by interface
  1573.     //
  1574.     virtual HRESULT __stdcall put_CopyLocally (
  1575.         VARIANT_BOOL CopyLocally ) = 0;
  1576.     virtual HRESULT __stdcall get_CopyLocally (
  1577.         VARIANT_BOOL * CopyLocally ) = 0;
  1578.     virtual HRESULT __stdcall put_PrimaryKey (
  1579.         BSTR fieldNames ) = 0;
  1580.     virtual HRESULT __stdcall get_PrimaryKey (
  1581.         BSTR * fieldNames ) = 0;
  1582. };
  1583. struct __declspec(uuid("4dbc418c-ea1a-11d1-aa91-00c04fa37b81"))
  1584. ISimpleEdgeFeature : IUnknown
  1585. {
  1586.     //
  1587.     // Raw methods provided by interface
  1588.     //
  1589.     virtual HRESULT __stdcall get_EID (
  1590.         long * ElementID ) = 0;
  1591. };
  1592. struct __declspec(uuid("8ae6975e-ea99-11d1-aecc-0000f80372b4"))
  1593. IComplexJunctionFeature : IUnknown
  1594. {
  1595.     //
  1596.     // Raw methods provided by interface
  1597.     //
  1598.     virtual HRESULT __stdcall get_GeometryForEdgeElement (
  1599.         long subID,
  1600.         struct IGeometry * * Geometry ) = 0;
  1601.     virtual HRESULT __stdcall get_EdgeFeatureCount (
  1602.         long connectionPointIndex,
  1603.         long * numFeatures ) = 0;
  1604.     virtual HRESULT __stdcall get_EdgeFeature (
  1605.         long connectionPointIndex,
  1606.         long Index,
  1607.         struct IEdgeFeature * * EdgeFeature ) = 0;
  1608.     virtual HRESULT __stdcall get_TopologicalConfiguration (
  1609.         enum esriTopoConfiguration * configuration ) = 0;
  1610.     virtual HRESULT __stdcall put_TopologicalConfiguration (
  1611.         enum esriTopoConfiguration configuration ) = 0;
  1612.     virtual HRESULT __stdcall put_RotationAngle (
  1613.         double _arg1 ) = 0;
  1614.     virtual HRESULT __stdcall get_FieldToEIDMapping (
  1615.         long FieldIndex,
  1616.         long * EID ) = 0;
  1617.     virtual HRESULT __stdcall get_JunctionElementCount (
  1618.         long * numJunctions ) = 0;
  1619.     virtual HRESULT __stdcall put_JunctionElementCount (
  1620.         long numJunctions ) = 0;
  1621.     virtual HRESULT __stdcall FindJunctionEID (
  1622.         struct IPoint * point,
  1623.         long * junctionEID ) = 0;
  1624. };
  1625. enum esriTopoConfiguration
  1626. {
  1627.     esriTCChain = 0,
  1628.     esriTCLoop = 1,
  1629.     esriTCStar = 2,
  1630.     esriTCMesh = 3
  1631. };
  1632. struct __declspec(uuid("66f783ae-ea1b-11d1-aa91-00c04fa37b81"))
  1633. IComplexEdgeFeature : IUnknown
  1634. {
  1635.     //
  1636.     // Raw methods provided by interface
  1637.     //
  1638.     virtual HRESULT __stdcall get_JunctionFeatureCount (
  1639.         long * numFeatures ) = 0;
  1640.     virtual HRESULT __stdcall get_JunctionFeature (
  1641.         long Index,
  1642.         struct IJunctionFeature * * JunctionFeature ) = 0;
  1643.     virtual HRESULT __stdcall SplitEdgeElement (
  1644.         struct IPoint * point,
  1645.         long newJunctionEID ) = 0;
  1646.     virtual HRESULT __stdcall get_GeometryByPoints (
  1647.         struct IPoint * fromPoint,
  1648.         struct IPoint * toPoint,
  1649.         struct IGeometry * * Geometry ) = 0;
  1650.     virtual HRESULT __stdcall get_GeometryForEID (
  1651.         long edgeEID,
  1652.         struct IGeometry * * Geometry ) = 0;
  1653.     virtual HRESULT __stdcall ConnectAtIntermediateVertices ( ) = 0;
  1654. };
  1655. struct __declspec(uuid("c87be760-da2a-11d1-aeba-0000f80372b4"))
  1656. ISimpleNetworkFeature : IUnknown
  1657. {};
  1658. struct __declspec(uuid("6bd2b5c0-c503-11d1-aea9-0000f80372b4"))
  1659. IComplexNetworkFeature : IUnknown
  1660. {
  1661.     //
  1662.     // Raw methods provided by interface
  1663.     //
  1664.     virtual HRESULT __stdcall get_EdgeElementCount (
  1665.         long * numEdges ) = 0;
  1666.     virtual HRESULT __stdcall FindEdgeEID (
  1667.         struct IPoint * point,
  1668.         long * edgeEID ) = 0;
  1669.     virtual HRESULT __stdcall get_EnabledByIndex (
  1670.         long edgeIndex,
  1671.         VARIANT_BOOL * isEnabled ) = 0;
  1672.     virtual HRESULT __stdcall put_EnabledByIndex (
  1673.         long edgeIndex,
  1674.         VARIANT_BOOL isEnabled ) = 0;
  1675. };
  1676. struct __declspec(uuid("e75e9906-55fb-11d1-ae55-0000f80372b4"))
  1677. IEnumNetworkFeature : IUnknown
  1678. {
  1679.     //
  1680.     // Raw methods provided by interface
  1681.     //
  1682.     virtual HRESULT __stdcall Next (
  1683.         struct INetworkFeature * * Feature ) = 0;
  1684.     virtual HRESULT __stdcall Reset ( ) = 0;
  1685. };
  1686. struct __declspec(uuid("91644b26-55fc-11d1-ae55-0000f80372b4"))
  1687. IEnumJunctionFeature : IUnknown
  1688. {
  1689.     //
  1690.     // Raw methods provided by interface
  1691.     //
  1692.     virtual HRESULT __stdcall Next (
  1693.         struct IJunctionFeature * * junction ) = 0;
  1694.     virtual HRESULT __stdcall Reset ( ) = 0;
  1695. };
  1696. struct __declspec(uuid("655e3f50-55fc-11d1-ae55-0000f80372b4"))
  1697. IEnumEdgeFeature : IUnknown
  1698. {
  1699.     //
  1700.     // Raw methods provided by interface
  1701.     //
  1702.     virtual HRESULT __stdcall Next (
  1703.         struct IEdgeFeature * * Edge ) = 0;
  1704.     virtual HRESULT __stdcall Reset ( ) = 0;
  1705. };
  1706. struct __declspec(uuid("9ed62772-475d-11d2-9932-0000f80372b4"))
  1707. IAttributeRule : IRule
  1708. {
  1709.     //
  1710.     // Raw methods provided by interface
  1711.     //
  1712.     virtual HRESULT __stdcall get_DomainName (
  1713.         BSTR * Name ) = 0;
  1714.     virtual HRESULT __stdcall put_DomainName (
  1715.         BSTR Name ) = 0;
  1716.     virtual HRESULT __stdcall get_FieldName (
  1717.         BSTR * Name ) = 0;
  1718.     virtual HRESULT __stdcall put_FieldName (
  1719.         BSTR Name ) = 0;
  1720.     virtual HRESULT __stdcall get_SubtypeCode (
  1721.         long * Value ) = 0;
  1722.     virtual HRESULT __stdcall put_SubtypeCode (
  1723.         long Value ) = 0;
  1724.     virtual HRESULT __stdcall Validate (
  1725.         struct IRow * Row,
  1726.         BSTR * errorMessage,
  1727.         VARIANT_BOOL * isValid ) = 0;
  1728. };
  1729. struct __declspec(uuid("d79bdaf1-caa8-11d2-b2be-0000f878229e"))
  1730. IFIDSet : IUnknown
  1731. {
  1732.     //
  1733.     // Raw methods provided by interface
  1734.     //
  1735.     virtual HRESULT __stdcall Add (
  1736.         long FID ) = 0;
  1737.     virtual HRESULT __stdcall Delete (
  1738.         long FID ) = 0;
  1739.     virtual HRESULT __stdcall Find (
  1740.         long FID,
  1741.         VARIANT_BOOL * doesExist ) = 0;
  1742.     virtual HRESULT __stdcall Next (
  1743.         long * FID ) = 0;
  1744.     virtual HRESULT __stdcall Reset ( ) = 0;
  1745.     virtual HRESULT __stdcall Count (
  1746.         long * Count ) = 0;
  1747.     virtual HRESULT __stdcall SetEmpty ( ) = 0;
  1748. };
  1749. struct __declspec(uuid("c2a33a05-adab-4fc9-938c-cb0e14476686"))
  1750. ITopologyContainer : IUnknown
  1751. {
  1752.     //
  1753.     // Raw methods provided by interface
  1754.     //
  1755.     virtual HRESULT __stdcall get_Topology (
  1756.         long Index,
  1757.         struct ITopology * * Topology ) = 0;
  1758.     virtual HRESULT __stdcall get_TopologyByName (
  1759.         BSTR Name,
  1760.         struct ITopology * * Topology ) = 0;
  1761.     virtual HRESULT __stdcall get_TopologyByID (
  1762.         long ID,
  1763.         struct ITopology * * Topology ) = 0;
  1764.     virtual HRESULT __stdcall get_TopologyCount (
  1765.         long * Count ) = 0;
  1766.     virtual HRESULT __stdcall CreateTopology (
  1767.         BSTR Name,
  1768.         double ClusterTolerance,
  1769.         long maxGeneratedErrorCount,
  1770.         BSTR ConfigurationKeyword,
  1771.         struct ITopology * * Topology ) = 0;
  1772.     virtual HRESULT __stdcall get_DefaultClusterTolerance (
  1773.         double * ClusterTolerance ) = 0;
  1774.     virtual HRESULT __stdcall get_MinimumClusterTolerance (
  1775.         double * ClusterTolerance ) = 0;
  1776.     virtual HRESULT __stdcall get_MaximumClusterTolerance (
  1777.         double * ClusterTolerance ) = 0;
  1778. };
  1779. struct __declspec(uuid("a53b59a5-2efc-41c4-9769-c0faa13e62e9"))
  1780. ITopologyRule : IUnknown
  1781. {
  1782.     //
  1783.     // Raw methods provided by interface
  1784.     //
  1785.     virtual HRESULT __stdcall get_Name (
  1786.         BSTR * Name ) = 0;
  1787.     virtual HRESULT __stdcall put_Name (
  1788.         BSTR Name ) = 0;
  1789.     virtual HRESULT __stdcall get_GUID (
  1790.         BSTR * GUID ) = 0;
  1791.     virtual HRESULT __stdcall get_OriginClassID (
  1792.         long * ClassID ) = 0;
  1793.     virtual HRESULT __stdcall put_OriginClassID (
  1794.         long ClassID ) = 0;
  1795.     virtual HRESULT __stdcall get_OriginSubtype (
  1796.         long * SubType ) = 0;
  1797.     virtual HRESULT __stdcall put_OriginSubtype (
  1798.         long SubType ) = 0;
  1799.     virtual HRESULT __stdcall get_DestinationClassID (
  1800.         long * ClassID ) = 0;
  1801.     virtual HRESULT __stdcall put_DestinationClassID (
  1802.         long ClassID ) = 0;
  1803.     virtual HRESULT __stdcall get_DestinationSubtype (
  1804.         long * SubType ) = 0;
  1805.     virtual HRESULT __stdcall put_DestinationSubtype (
  1806.         long SubType ) = 0;
  1807.     virtual HRESULT __stdcall get_TopologyRuleType (
  1808.         enum esriTopologyRuleType * ruleType ) = 0;
  1809.     virtual HRESULT __stdcall put_TopologyRuleType (
  1810.         enum esriTopologyRuleType ruleType ) = 0;
  1811.     virtual HRESULT __stdcall get_TriggerErrorEvents (
  1812.         VARIANT_BOOL * errorEvents ) = 0;
  1813.     virtual HRESULT __stdcall put_TriggerErrorEvents (
  1814.         VARIANT_BOOL errorEvents ) = 0;
  1815.     virtual HRESULT __stdcall ErrorShapeTypes (
  1816.         VARIANT_BOOL * multipoints,
  1817.         VARIANT_BOOL * polylines,
  1818.         VARIANT_BOOL * polygons ) = 0;
  1819.     virtual HRESULT __stdcall get_AllOriginSubtypes (
  1820.         VARIANT_BOOL * allSubtypes ) = 0;
  1821.     virtual HRESULT __stdcall put_AllOriginSubtypes (
  1822.         VARIANT_BOOL allSubtypes ) = 0;
  1823.     virtual HRESULT __stdcall get_AllDestinationSubtypes (
  1824.         VARIANT_BOOL * allSubtypes ) = 0;
  1825.     virtual HRESULT __stdcall put_AllDestinationSubtypes (
  1826.         VARIANT_BOOL allSubtypes ) = 0;
  1827.     virtual HRESULT __stdcall get_OriginSubtypeSpecified (
  1828.         VARIANT_BOOL * subtypeSpecified ) = 0;
  1829.     virtual HRESULT __stdcall get_DestinationSubtypeSpecified (
  1830.         VARIANT_BOOL * subtypeSpecified ) = 0;
  1831. };
  1832. enum esriTopologyRuleType
  1833. {
  1834.     esriTRTAny = -1,
  1835.     esriTRTFeatureLargerThanClusterTolerance = 0,
  1836.     esriTRTAreaNoGaps = 1,
  1837.     esriTRTAreaNoOverlap = 3,
  1838.     esriTRTAreaCoveredByAreaClass = 4,
  1839.     esriTRTAreaAreaCoverEachOther = 5,
  1840.     esriTRTAreaCoveredByArea = 7,
  1841.     esriTRTAreaNoOverlapArea = 8,
  1842.     esriTRTLineCoveredByAreaBoundary = 10,
  1843.     esriTRTPointCoveredByAreaBoundary = 13,
  1844.     esriTRTPointProperlyInsideArea = 15,
  1845.     esriTRTLineNoOverlap = 19,
  1846.     esriTRTLineNoIntersection = 20,
  1847.     esriTRTLineNoDangles = 21,
  1848.     esriTRTLineNoPseudos = 22,
  1849.     esriTRTLineCoveredByLineClass = 26,
  1850.     esriTRTLineNoOverlapLine = 28,
  1851.     esriTRTPointCoveredByLine = 29,
  1852.     esriTRTPointCoveredByLineEndpoint = 31,
  1853.     esriTRTAreaBoundaryCoveredByLine = 37,
  1854.     esriTRTAreaBoundaryCoveredByAreaBoundary = 38,
  1855.     esriTRTLineNoSelfOverlap = 39,
  1856.     esriTRTLineNoSelfIntersect = 40,
  1857.     esriTRTLineNoIntersectOrInteriorTouch = 41,
  1858.     esriTRTLineEndpointCoveredByPoint = 42,
  1859.     esriTRTAreaContainPoint = 43,
  1860.     esriTRTLineNoMultipart = 44
  1861. };
  1862. struct __declspec(uuid("505b6fdd-9e6e-42f9-b705-53355b2f1def"))
  1863. ITopologyName : IUnknown
  1864. {
  1865.     //
  1866.     // Raw methods provided by interface
  1867.     //
  1868.     virtual HRESULT __stdcall get_DirtyAreasName (
  1869.         struct IName * * Name ) = 0;
  1870.     virtual HRESULT __stdcall get_TopologyErrorName (
  1871.         enum esriGeometryType GeometryType,
  1872.         struct IName * * Name ) = 0;
  1873.     virtual HRESULT __stdcall get_FeatureDatasetName (
  1874.         struct IDatasetName * * Name ) = 0;
  1875.     virtual HRESULT __stdcall putref_FeatureDatasetName (
  1876.         struct IDatasetName * Name ) = 0;
  1877. };
  1878. struct tagFieldValue
  1879. {
  1880.     VARIANT m_value;
  1881.     unsigned long m_length;
  1882.     unsigned long m_status;
  1883. };
  1884. enum esriTableComponents
  1885. {
  1886.     esriBusinessTable = 1,
  1887.     esriFeatureTable = 2,
  1888.     esriAddsTable = 4,
  1889.     esriDeletesTable = 8,
  1890.     esriRasterTable = 16
  1891. };
  1892. enum esriDifferenceType
  1893. {
  1894.     esriDifferenceTypeInsert = 0,
  1895.     esriDifferenceTypeDeleteNoChange = 1,
  1896.     esriDifferenceTypeUpdateNoChange = 2,
  1897.     esriDifferenceTypeUpdateUpdate = 3,
  1898.     esriDifferenceTypeUpdateDelete = 4,
  1899.     esriDifferenceTypeDeleteUpdate = 5
  1900. };
  1901. enum esriTopoDirection
  1902. {
  1903.     esriTDTo = 0,
  1904.     esriTDFrom = 1
  1905. };
  1906. enum esriTopoSide
  1907. {
  1908.     esriTSLeft = 0,
  1909.     esriTSRight = 1
  1910. };
  1911. enum esriEditSearchOption
  1912. {
  1913.     esriEditSearchBoth = 1,
  1914.     esriEditSearchBasicOnly = 2,
  1915.     esriEditSearchDeltaOnly = 3,
  1916.     esriEditSearchNewDeltaOnly = 4,
  1917.     esriEditSearchDeletedBasicOnly = 5
  1918. };
  1919. enum esriJoinType
  1920. {
  1921.     esriLeftOuterJoin = 0,
  1922.     esriLeftInnerJoin = 1
  1923. };
  1924. enum esriRelClassKey
  1925. {
  1926.     esriRelClassKeyUndefined = 0,
  1927.     esriRelClassKeyClassID = 1,
  1928.     esriRelClassKeyClassCode = 2
  1929. };
  1930. enum esriRelKeyType
  1931. {
  1932.     esriRelKeyTypeSingle = 0,
  1933.     esriRelKeyTypeDual = 1
  1934. };
  1935. enum esriRelKeyRole
  1936. {
  1937.     esriRelKeyRoleOriginPrimary = 0,
  1938.     esriRelKeyRoleDestinationPrimary = 1,
  1939.     esriRelKeyRoleOriginForeign = 2,
  1940.     esriRelKeyRoleDestinationForeign = 3
  1941. };
  1942. enum esriRelDirection
  1943. {
  1944.     esriRelDirectionForward = 0,
  1945.     esriRelDirectionBackward = 1,
  1946.     esriRelDirectionBoth = 2
  1947. };
  1948. enum esriRelClassCodeType
  1949. {
  1950.     esriRelClassCodeTypeInteger = 0,
  1951.     esriRelClassCodeTypeString = 1
  1952. };
  1953. struct __declspec(uuid("74793943-d70e-11d2-9f30-00c04f79927c"))
  1954. ICoverageAnnotationFeature : IUnknown
  1955. {
  1956.     //
  1957.     // Raw methods provided by interface
  1958.     //
  1959.     virtual HRESULT __stdcall get_AnnotationBlob (
  1960.         struct IMemoryBlobStream * * annotation ) = 0;
  1961.     virtual HRESULT __stdcall putref_AnnotationBlob (
  1962.         struct IMemoryBlobStream * annotation ) = 0;
  1963. };
  1964. struct __declspec(uuid("a933f752-5ed3-11d2-aa8a-00c04fa37b82"))
  1965. INetworkCollection : IUnknown
  1966. {
  1967.     //
  1968.     // Raw methods provided by interface
  1969.     //
  1970.     virtual HRESULT __stdcall get_GeometricNetworkCount (
  1971.         int * numNetworks ) = 0;
  1972.     virtual HRESULT __stdcall get_GeometricNetwork (
  1973.         int Index,
  1974.         struct IGeometricNetwork * * Network ) = 0;
  1975.     virtual HRESULT __stdcall get_GeometricNetworkByName (
  1976.         BSTR Name,
  1977.         struct IGeometricNetwork * * Network ) = 0;
  1978.     virtual HRESULT __stdcall CreateGeometricNetwork (
  1979.         BSTR Name,
  1980.         enum esriNetworkType NetworkType,
  1981.         VARIANT_BOOL buildNormalizedTables,
  1982.         struct IGeometricNetwork * * Network ) = 0;
  1983. };
  1984. struct __declspec(uuid("a2b19ed3-0fe6-11d4-a0e5-00c04f6bdf0e"))
  1985. INetworkCollection2 : INetworkCollection
  1986. {
  1987.     //
  1988.     // Raw methods provided by interface
  1989.     //
  1990.     virtual HRESULT __stdcall get_FormatNumberCount (
  1991.         long * pCount ) = 0;
  1992.     virtual HRESULT __stdcall get_FormatNumber (
  1993.         long Index,
  1994.         long * pFormatNum ) = 0;
  1995.     virtual HRESULT __stdcall GetMaxStorableClassID (
  1996.         long formatNum,
  1997.         long * pMaxClassID ) = 0;
  1998.     virtual HRESULT __stdcall CreateGeometricNetworkEx (
  1999.         BSTR Name,
  2000.         enum esriNetworkType NetworkType,
  2001.         VARIANT_BOOL buildNormalizedTables,
  2002.         BSTR ConfigKeyword,
  2003.         long formatNum,
  2004.         struct IGeometricNetwork * * Network ) = 0;
  2005. };
  2006. struct __declspec(uuid("f5625307-3565-4d1f-839e-3705e882dc48"))
  2007. IObjectClassContainer : IUnknown
  2008. {
  2009.     //
  2010.     // Raw methods provided by interface
  2011.     //
  2012.     virtual HRESULT __stdcall get_ObjectClassByID (
  2013.         long ID,
  2014.         struct IObjectClass * * ObjectClass ) = 0;
  2015.     virtual HRESULT __stdcall get_ObjectClassByName (
  2016.         BSTR Name,
  2017.         struct IObjectClass * * ObjectClass ) = 0;
  2018.     virtual HRESULT __stdcall get_ObjectClassCount (
  2019.         long * numClasses ) = 0;
  2020.     virtual HRESULT __stdcall get_ObjectClasses (
  2021.         struct IEnumObjectClass * * ObjectClasses ) = 0;
  2022. };
  2023. struct __declspec(uuid("0fb7a29c-11aa-406b-8096-26ac8ea27ba6"))
  2024. IFeatureClassManage : IUnknown
  2025. {
  2026.     //
  2027.     // Raw methods provided by interface
  2028.     //
  2029.     virtual HRESULT __stdcall UpdateExtent ( ) = 0;
  2030. };
  2031. struct __declspec(uuid("c6c98e41-ee39-11d2-8a5a-000000000000"))
  2032. IRelationshipClassContainer : IUnknown
  2033. {
  2034.     //
  2035.     // Raw methods provided by interface
  2036.     //
  2037.     virtual HRESULT __stdcall get_RelationshipClasses (
  2038.         struct IEnumRelationshipClass * * relClasses ) = 0;
  2039.     virtual HRESULT __stdcall CreateRelationshipClass (
  2040.         BSTR relClassName,
  2041.         struct IObjectClass * OriginClass,
  2042.         struct IObjectClass * DestinationClass,
  2043.         BSTR forwardLabel,
  2044.         BSTR backwardLabel,
  2045.         enum esriRelCardinality Cardinality,
  2046.         enum esriRelNotification Notification,
  2047.         VARIANT_BOOL IsComposite,
  2048.         VARIANT_BOOL IsAttributed,
  2049.         struct IFields * relAttrFields,
  2050.         BSTR OriginPrimaryKey,
  2051.         BSTR destPrimaryKey,
  2052.         BSTR OriginForeignKey,
  2053.         BSTR destForeignKey,
  2054.         struct IRelationshipClass * * ppRelationshipClass ) = 0;
  2055.     virtual HRESULT __stdcall AddRelationshipClass (
  2056.         struct IRelationshipClass * pRelClass ) = 0;
  2057. };
  2058. struct __declspec(uuid("300aa631-b207-11d0-beca-00805f7c4268"))
  2059. IFieldEdit : IField
  2060. {
  2061.     //
  2062.     // Raw methods provided by interface
  2063.     //
  2064.     virtual HRESULT __stdcall put_Name (
  2065.         BSTR _arg1 ) = 0;
  2066.     virtual HRESULT __stdcall put_AliasName (
  2067.         BSTR _arg1 ) = 0;
  2068.     virtual HRESULT __stdcall putref_Domain (
  2069.         struct IDomain * _arg1 ) = 0;
  2070.     virtual HRESULT __stdcall put_DefaultValue (
  2071.         VARIANT _arg1 ) = 0;
  2072.     virtual HRESULT __stdcall put_Type (
  2073.         enum esriFieldType _arg1 ) = 0;
  2074.     virtual HRESULT __stdcall put_Length (
  2075.         long _arg1 ) = 0;
  2076.     virtual HRESULT __stdcall put_Precision (
  2077.         long _arg1 ) = 0;
  2078.     virtual HRESULT __stdcall put_Scale (
  2079.         long _arg1 ) = 0;
  2080.     virtual HRESULT __stdcall put_IsNullable (
  2081.         VARIANT_BOOL _arg1 ) = 0;
  2082.     virtual HRESULT __stdcall putref_GeometryDef (
  2083.         struct IGeometryDef * _arg1 ) = 0;
  2084.     virtual HRESULT __stdcall put_DomainFixed (
  2085.         VARIANT_BOOL _arg1 ) = 0;
  2086.     virtual HRESULT __stdcall put_Required (
  2087.         VARIANT_BOOL _arg1 ) = 0;
  2088.     virtual HRESULT __stdcall put_Editable (
  2089.         VARIANT_BOOL _arg1 ) = 0;
  2090. };
  2091. struct __declspec(uuid("f19f696b-f4f1-4066-9a7f-273754d9dc2a"))
  2092. IField2 : IField
  2093. {
  2094.     //
  2095.     // Raw methods provided by interface
  2096.     //
  2097.     virtual HRESULT __stdcall get_RasterDef (
  2098.         struct IRasterDef * * RasterDef ) = 0;
  2099. };
  2100. struct __declspec(uuid("8bad0db3-a817-4dbb-9752-3faf6757e22c"))
  2101. IFieldEdit2 : IFieldEdit
  2102. {
  2103.     //
  2104.     // Raw methods provided by interface
  2105.     //
  2106.     virtual HRESULT __stdcall get_RasterDef (
  2107.         struct IRasterDef * * RasterDef ) = 0;
  2108.     virtual HRESULT __stdcall putref_RasterDef (
  2109.         struct IRasterDef * RasterDef ) = 0;
  2110. };
  2111. struct __declspec(uuid("2d660904-1dbd-11d3-9f87-00c04f6bdd84"))
  2112. IModelInfo : IUnknown
  2113. {
  2114.     //
  2115.     // Raw methods provided by interface
  2116.     //
  2117.     virtual HRESULT __stdcall get_ModelName (
  2118.         BSTR * Name ) = 0;
  2119.     virtual HRESULT __stdcall put_ModelName (
  2120.         BSTR Name ) = 0;
  2121. };
  2122. struct __declspec(uuid("c3eda031-6ec1-11d3-a024-00c04f6bdf0e"))
  2123. IFields2 : IFields
  2124. {
  2125.     //
  2126.     // Raw methods provided by interface
  2127.     //
  2128.     virtual HRESULT __stdcall FindFieldIgnoreQualification (
  2129.         struct ISQLSyntax * sqlSyntax,
  2130.         BSTR Name,
  2131.         long * Index ) = 0;
  2132. };
  2133. struct __declspec(uuid("6b2072e4-23f7-11d1-89d8-006097aff44e"))
  2134. IFieldsEdit : IFields
  2135. {
  2136.     //
  2137.     // Raw methods provided by interface
  2138.     //
  2139.     virtual HRESULT __stdcall put_FieldCount (
  2140.         long _arg1 ) = 0;
  2141.     virtual HRESULT __stdcall putref_Field (
  2142.         long Index,
  2143.         struct IField * _arg2 ) = 0;
  2144.     virtual HRESULT __stdcall AddField (
  2145.         struct IField * Field ) = 0;
  2146.     virtual HRESULT __stdcall DeleteField (
  2147.         struct IField * Field ) = 0;
  2148.     virtual HRESULT __stdcall DeleteAllFields ( ) = 0;
  2149. };
  2150. struct __declspec(uuid("439a0d51-3915-11d1-9ca7-0000f8780619"))
  2151. IGeometryDefEdit : IGeometryDef
  2152. {
  2153.     //
  2154.     // Raw methods provided by interface
  2155.     //
  2156.     virtual HRESULT __stdcall put_AvgNumPoints (
  2157.         long _arg1 ) = 0;
  2158.     virtual HRESULT __stdcall put_GeometryType (
  2159.         enum esriGeometryType _arg1 ) = 0;
  2160.     virtual HRESULT __stdcall put_GridSize (
  2161.         long Index,
  2162.         double _arg2 ) = 0;
  2163.     virtual HRESULT __stdcall put_GridCount (
  2164.         long _arg1 ) = 0;
  2165.     virtual HRESULT __stdcall putref_SpatialReference (
  2166.         struct ISpatialReference * _arg1 ) = 0;
  2167.     virtual HRESULT __stdcall put_HasZ (
  2168.         VARIANT_BOOL _arg1 ) = 0;
  2169.     virtual HRESULT __stdcall put_HasM (
  2170.         VARIANT_BOOL _arg1 ) = 0;
  2171. };
  2172. struct __declspec(uuid("2063fd02-4ce0-11d1-89db-006097aff44e"))
  2173. IIndexEdit : IIndex
  2174. {
  2175.     //
  2176.     // Raw methods provided by interface
  2177.     //
  2178.     virtual HRESULT __stdcall put_Name (
  2179.         BSTR _arg1 ) = 0;
  2180.     virtual HRESULT __stdcall put_IsUnique (
  2181.         VARIANT_BOOL _arg1 ) = 0;
  2182.     virtual HRESULT __stdcall put_IsAscending (
  2183.         VARIANT_BOOL _arg1 ) = 0;
  2184.     virtual HRESULT __stdcall putref_Fields (
  2185.         struct IFields * _arg1 ) = 0;
  2186. };
  2187. struct __declspec(uuid("2063fd04-4ce0-11d1-89db-006097aff44e"))
  2188. IIndexesEdit : IIndexes
  2189. {
  2190.     //
  2191.     // Raw methods provided by interface
  2192.     //
  2193.     virtual HRESULT __stdcall put_IndexCount (
  2194.         long _arg1 ) = 0;
  2195.     virtual HRESULT __stdcall putref_Index (
  2196.         long pos,
  2197.         struct IIndex * _arg2 ) = 0;
  2198.     virtual HRESULT __stdcall AddIndex (
  2199.         struct IIndex * Index ) = 0;
  2200.     virtual HRESULT __stdcall DeleteIndex (
  2201.         struct IIndex * Index ) = 0;
  2202.     virtual HRESULT __stdcall DeleteAllIndexes ( ) = 0;
  2203. };
  2204. struct __declspec(uuid("64654191-e2e8-11d2-8a56-000000000000"))
  2205. IClassSchemaEdit : IUnknown
  2206. {
  2207.     //
  2208.     // Raw methods provided by interface
  2209.     //
  2210.     virtual HRESULT __stdcall RegisterAsObjectClass (
  2211.         BSTR suggestedOIDFieldName,
  2212.         BSTR ConfigKeyword,
  2213.         long * ObjectClassID ) = 0;
  2214.     virtual HRESULT __stdcall AlterInstanceCLSID (
  2215.         struct IUID * InstanceCLSID ) = 0;
  2216.     virtual HRESULT __stdcall AlterClassExtensionCLSID (
  2217.         struct IUID * ClassExtensionCLSID,
  2218.         struct IPropertySet * classExtensionProperties ) = 0;
  2219.     virtual HRESULT __stdcall AlterAliasName (
  2220.         BSTR Name ) = 0;
  2221.     virtual HRESULT __stdcall AlterFieldAliasName (
  2222.         BSTR FieldName,
  2223.         BSTR AliasName ) = 0;
  2224.     virtual HRESULT __stdcall AlterModelName (
  2225.         BSTR Name ) = 0;
  2226.     virtual HRESULT __stdcall AlterFieldModelName (
  2227.         BSTR FieldName,
  2228.         BSTR ModelName ) = 0;
  2229.     virtual HRESULT __stdcall AlterDomain (
  2230.         BSTR FieldName,
  2231.         struct IDomain * Domain ) = 0;
  2232.     virtual HRESULT __stdcall AlterDefaultValue (
  2233.         BSTR FieldName,
  2234.         VARIANT Value ) = 0;
  2235. };
  2236. struct __declspec(uuid("62f1f470-e991-11d3-80d3-00c04f601565"))
  2237. IClassSchemaEdit2 : IClassSchemaEdit
  2238. {
  2239.     //
  2240.     // Raw methods provided by interface
  2241.     //
  2242.     virtual HRESULT __stdcall AlterClassExtensionProperties (
  2243.         struct IPropertySet * classExtensionProperties ) = 0;
  2244. };
  2245. struct __declspec(uuid("4b35f814-0417-47e3-8dfc-cad58746693b"))
  2246. IClassSchemaEdit3 : IClassSchemaEdit2
  2247. {
  2248.     //
  2249.     // Raw methods provided by interface
  2250.     //
  2251.     virtual HRESULT __stdcall AddGlobalID (
  2252.         BSTR FieldName ) = 0;
  2253.     virtual HRESULT __stdcall DeleteGlobalID ( ) = 0;
  2254. };
  2255. struct __declspec(uuid("bb7071f4-1678-4029-a358-14b5d33ad7cf"))
  2256. IRelClassSchemaEdit : IUnknown
  2257. {
  2258.     //
  2259.     // Raw methods provided by interface
  2260.     //
  2261.     virtual HRESULT __stdcall AlterForwardPathLabel (
  2262.         BSTR forwardLabel ) = 0;
  2263.     virtual HRESULT __stdcall AlterBackwardPathLabel (
  2264.         BSTR backwardLabel ) = 0;
  2265.     virtual HRESULT __stdcall AlterIsComposite (
  2266.         VARIANT_BOOL IsComposite ) = 0;
  2267. };
  2268. struct __declspec(uuid("8006ff00-6a8b-4476-bdef-0765c11b53eb"))
  2269. IVirtualTable : IUnknown
  2270. {};
  2271. struct __declspec(uuid("e9075692-7072-11d3-a11e-0000f8775bf9"))
  2272. IRelQueryTable : IUnknown
  2273. {
  2274.     //
  2275.     // Raw methods provided by interface
  2276.     //
  2277.     virtual HRESULT __stdcall get_SourceTable (
  2278.         struct ITable * * ppSourceTable ) = 0;
  2279.     virtual HRESULT __stdcall get_DestinationTable (
  2280.         struct ITable * * ppDesinationTable ) = 0;
  2281.     virtual HRESULT __stdcall get_RelationshipClass (
  2282.         struct IRelationshipClass * * ppRelationshipClass ) = 0;
  2283. };
  2284. struct __declspec(uuid("d5a1b5bc-9a9f-4a40-bf34-69800d27ebe3"))
  2285. IRelQueryTableInfo : IUnknown
  2286. {
  2287.     //
  2288.     // Raw methods provided by interface
  2289.     //
  2290.     virtual HRESULT __stdcall get_JoinType (
  2291.         enum esriJoinType * pJoinType ) = 0;
  2292.     virtual HRESULT __stdcall get_QueryDef (
  2293.         struct IQueryDef * * ppQueryDef ) = 0;
  2294.     virtual HRESULT __stdcall GetBaseTableOfField (
  2295.         BSTR dbColumn,
  2296.         struct ITable * * ppTable ) = 0;
  2297.     virtual HRESULT __stdcall get_HasDirectAccessLookup (
  2298.         VARIANT_BOOL * pDirectAccess ) = 0;
  2299. };
  2300. struct __declspec(uuid("fda93763-eb76-40a6-ba53-eddaefcdde07"))
  2301. IRelQueryTableSettings : IUnknown
  2302. {
  2303.     //
  2304.     // Raw methods provided by interface
  2305.     //
  2306.     virtual HRESULT __stdcall get_FireRowChangedEvents (
  2307.         VARIANT_BOOL * pFireRowEvents ) = 0;
  2308.     virtual HRESULT __stdcall put_FireRowChangedEvents (
  2309.         VARIANT_BOOL pFireRowEvents ) = 0;
  2310. };
  2311. struct __declspec(uuid("b3949d86-3078-4f3b-9dc8-651053366119"))
  2312. IRelQueryTableFactory : IUnknown
  2313. {
  2314.     //
  2315.     // Raw methods provided by interface
  2316.     //
  2317.     virtual HRESULT __stdcall Open (
  2318.         struct IRelationshipClass * pRelClass,
  2319.         VARIANT_BOOL joinForward,
  2320.         struct IQueryFilter * pQueryFilter,
  2321.         struct ISelectionSet * pSrcSelectionSet,
  2322.         BSTR target_Columns,
  2323.         VARIANT_BOOL DoNotPushJoinToDB,
  2324.         VARIANT_BOOL openAsLeftOuterJoin,
  2325.         struct IRelQueryTable * * Table ) = 0;
  2326. };
  2327. struct __declspec(uuid("e1e2702e-8b9e-4322-a332-caae8770d657"))
  2328. ICollectionTableVersionChanges : IUnknown
  2329. {
  2330.     //
  2331.     // Raw methods provided by interface
  2332.     //
  2333.     virtual HRESULT __stdcall Add (
  2334.         struct ITable * pOldTable,
  2335.         struct ITable * pNewTable ) = 0;
  2336.     virtual HRESULT __stdcall RemoveAll ( ) = 0;
  2337. };
  2338. struct __declspec(uuid("f7f1308a-8f93-40ef-932c-f3f359c221ee"))
  2339. IEnumTableVersionChanges : IUnknown
  2340. {
  2341.     //
  2342.     // Raw methods provided by interface
  2343.     //
  2344.     virtual HRESULT __stdcall Next (
  2345.         struct ITable * * ppOldTable,
  2346.         struct ITable * * ppNewTable ) = 0;
  2347.     virtual HRESULT __stdcall Reset ( ) = 0;
  2348. };
  2349. struct __declspec(uuid("c27587ab-ab36-4203-b9bd-d7906cf27b7c"))
  2350. IRelQueryTableManage : IUnknown
  2351. {
  2352.     //
  2353.     // Raw methods provided by interface
  2354.     //
  2355.     virtual HRESULT __stdcall VersionChanged (
  2356.         struct IVersion * pSelectedWorkspace,
  2357.         struct IVersion * pTargetVersion,
  2358.         struct IEnumTableVersionChanges * pTablesRequiringMapEventFiring ) = 0;
  2359. };
  2360. struct __declspec(uuid("8b0338b9-3b3d-11d4-9fbb-00c04f6bdf0c"))
  2361. ITableCapabilities : IUnknown
  2362. {
  2363.     //
  2364.     // Raw methods provided by interface
  2365.     //
  2366.     virtual HRESULT __stdcall get_CanSelect (
  2367.         VARIANT_BOOL * CanSelect ) = 0;
  2368. };
  2369. struct __declspec(uuid("d3cb0fc1-8c02-11d3-9f91-00c04f6bdf0c"))
  2370. ITableUtil : IUnknown
  2371. {
  2372.     //
  2373.     // Raw methods provided by interface
  2374.     //
  2375.     virtual HRESULT __stdcall GetRow (
  2376.         long OID,
  2377.         struct ISpatialReference * pSpatialReference,
  2378.         struct IRow * * Row ) = 0;
  2379.     virtual HRESULT __stdcall GetRows (
  2380.         VARIANT oids,
  2381.         VARIANT_BOOL Recycling,
  2382.         struct ISpatialReference * pSpatialReference,
  2383.         struct ICursor * * Cursor ) = 0;
  2384. };
  2385. struct __declspec(uuid("e53afb0e-e6d4-11d2-9f29-00c04f6bc979"))
  2386. IObjectClassEvents : IUnknown
  2387. {
  2388.     //
  2389.     // Raw methods provided by interface
  2390.     //
  2391.     virtual HRESULT __stdcall OnCreate (
  2392.         struct IObject * obj ) = 0;
  2393.     virtual HRESULT __stdcall OnDelete (
  2394.         struct IObject * obj ) = 0;
  2395.     virtual HRESULT __stdcall OnChange (
  2396.         struct IObject * obj ) = 0;
  2397. };
  2398. struct __declspec(uuid("f1e8911b-6bc5-11d3-a021-00c04f6bdf0e"))
  2399. IObjectClassSchemaEvents : IUnknown
  2400. {
  2401.     //
  2402.     // Raw methods provided by interface
  2403.     //
  2404.     virtual HRESULT __stdcall OnAddField (
  2405.         BSTR FieldName ) = 0;
  2406.     virtual HRESULT __stdcall OnDeleteField (
  2407.         BSTR FieldName ) = 0;
  2408.     virtual HRESULT __stdcall OnBehaviorChanged ( ) = 0;
  2409. };
  2410. struct __declspec(uuid("1438a5cc-bdef-411a-a201-fe5e7c493a00"))
  2411. ISimpleRelationshipChanges : IUnknown
  2412. {
  2413.     //
  2414.     // Raw methods provided by interface
  2415.     //
  2416.     virtual HRESULT __stdcall get_OldOriginKey (
  2417.         VARIANT * oldOrigKey ) = 0;
  2418. };
  2419. struct __declspec(uuid("a6693f58-eff3-11d4-9fef-00c04f6bdf0c"))
  2420. IRelationshipClassEvents : IUnknown
  2421. {
  2422.     //
  2423.     // Raw methods provided by interface
  2424.     //
  2425.     virtual HRESULT __stdcall OnCreate (
  2426.         struct IRelationship * rel ) = 0;
  2427.     virtual HRESULT __stdcall OnDelete (
  2428.         struct IRelationship * rel ) = 0;
  2429.     virtual HRESULT __stdcall OnChange (
  2430.         struct IRelationship * rel ) = 0;
  2431. };
  2432. struct __declspec(uuid("c9c39723-40b6-454f-a7ff-a25491c72256"))
  2433. IRelationshipClass2 : IRelationshipClass
  2434. {
  2435.     //
  2436.     // Raw methods provided by interface
  2437.     //
  2438.     virtual HRESULT __stdcall GetObjectsMatchingObjectSetEx (
  2439.         struct ISet * pSrcObjectSet,
  2440.         struct IQueryFilter * pQueryFilterAppliedToMatchingObjects,
  2441.         VARIANT_BOOL returnAllObjectMatches,
  2442.         struct IRelClassEnumRowPairs * * ppMatchedPairRows ) = 0;
  2443.     virtual HRESULT __stdcall GetObjectsMatchingObjectArray (
  2444.         struct IArray * pSrcObjectArray,
  2445.         struct IQueryFilter * pQueryFilterAppliedToMatchingObjects,
  2446.         VARIANT_BOOL returnAllObjectMatches,
  2447.         struct IRelClassEnumRowPairs * * ppMatchedPairRows ) = 0;
  2448. };
  2449. struct __declspec(uuid("9aae7f41-e171-4bba-9d77-ab6a02309116"))
  2450. IMemoryRelationshipClassFactory : IUnknown
  2451. {
  2452.     //
  2453.     // Raw methods provided by interface
  2454.     //
  2455.     virtual HRESULT __stdcall Open (
  2456.         BSTR Name,
  2457.         struct IObjectClass * originPrimaryClass,
  2458.         BSTR originPrimaryKeyField,
  2459.         struct IObjectClass * originForeignClass,
  2460.         BSTR originForeignKeyField,
  2461.         BSTR ForwardPathLabel,
  2462.         BSTR BackwardPathLabel,
  2463.         enum esriRelCardinality Cardinality,
  2464.         struct IRelationshipClass * * RelationshipClass ) = 0;
  2465. };
  2466. struct __declspec(uuid("22b0069a-8895-11d2-8a0d-006097aff44e"))
  2467. IRelatedObjectEvents : IUnknown
  2468. {
  2469.     //
  2470.     // Raw methods provided by interface
  2471.     //
  2472.     virtual HRESULT __stdcall RelatedObjectChanged (
  2473.         struct IRelationshipClass * RelationshipClass,
  2474.         struct IObject * objectThatChanged ) = 0;
  2475.     virtual HRESULT __stdcall RelatedObjectMoved (
  2476.         struct IRelationshipClass * RelationshipClass,
  2477.         struct IObject * objectThatChanged,
  2478.         struct ILine * moveVector ) = 0;
  2479.     virtual HRESULT __stdcall RelatedObjectSetMoved (
  2480.         struct IRelationshipClass * RelationshipClass,
  2481.         struct ISet * objectsThatNeedToChange,
  2482.         struct ISet * objectsThatChanged,
  2483.         struct ILine * moveVector ) = 0;
  2484.     virtual HRESULT __stdcall RelatedObjectRotated (
  2485.         struct IRelationshipClass * RelationshipClass,
  2486.         struct IObject * objectThatChanged,
  2487.         struct IPoint * Origin,
  2488.         double angle ) = 0;
  2489.     virtual HRESULT __stdcall RelatedObjectSetRotated (
  2490.         struct IRelationshipClass * RelationshipClass,
  2491.         struct ISet * objectsThatNeedToChange,
  2492.         struct ISet * objectsThatChanged,
  2493.         struct IPoint * Origin,
  2494.         double angle ) = 0;
  2495. };
  2496. struct __declspec(uuid("22b00699-8895-11d2-8a0d-006097aff44e"))
  2497. IRelatedObjectClassEvents : IUnknown
  2498. {
  2499.     //
  2500.     // Raw methods provided by interface
  2501.     //
  2502.     virtual HRESULT __stdcall RelatedObjectCreated (
  2503.         struct IRelationshipClass * RelationshipClass,
  2504.         struct IObject * objectThatWasCreated ) = 0;
  2505. };
  2506. struct __declspec(uuid("c0e79d54-844c-11d4-80ed-00c04f601565"))
  2507. IRelatedObjectClassEvents2 : IUnknown
  2508. {
  2509.     //
  2510.     // Raw methods provided by interface
  2511.     //
  2512.     virtual HRESULT __stdcall RelatedObjectChanged (
  2513.         struct IRelationshipClass * RelationshipClass,
  2514.         struct IObject * objectThatChanged,
  2515.         struct IObject * RelatedObject ) = 0;
  2516.     virtual HRESULT __stdcall RelatedObjectMoved (
  2517.         struct IRelationshipClass * RelationshipClass,
  2518.         struct IObject * objectThatChanged,
  2519.         struct ILine * moveVector,
  2520.         struct IObject * RelatedObject ) = 0;
  2521.     virtual HRESULT __stdcall RelatedObjectSetMoved (
  2522.         struct IRelationshipClass * RelationshipClass,
  2523.         struct ISet * objectsThatNeedToChange,
  2524.         struct ISet * objectsThatChanged,
  2525.         struct ILine * moveVector ) = 0;
  2526.     virtual HRESULT __stdcall RelatedObjectRotated (
  2527.         struct IRelationshipClass * RelationshipClass,
  2528.         struct IObject * objectThatChanged,
  2529.         struct IPoint * Origin,
  2530.         double angle,
  2531.         struct IObject * RelatedObject ) = 0;
  2532.     virtual HRESULT __stdcall RelatedObjectSetRotated (
  2533.         struct IRelationshipClass * RelationshipClass,
  2534.         struct ISet * objectsThatNeedToChange,
  2535.         struct ISet * objectsThatChanged,
  2536.         struct IPoint * Origin,
  2537.         double angle ) = 0;
  2538. };
  2539. struct __declspec(uuid("4a72e282-52bf-11d4-80dd-00c04f601565"))
  2540. IConfirmSendRelatedObjectEvents : IUnknown
  2541. {
  2542.     //
  2543.     // Raw methods provided by interface
  2544.     //
  2545.     virtual HRESULT __stdcall ConfirmSendRelatedObjectChanged (
  2546.         struct IRelationshipClass * RelationshipClass,
  2547.         struct IObject * objectThatChanged,
  2548.         VARIANT_BOOL * doSend ) = 0;
  2549.     virtual HRESULT __stdcall ConfirmSendRelatedObjectMoved (
  2550.         struct IRelationshipClass * RelationshipClass,
  2551.         struct IObject * objectThatChanged,
  2552.         struct ILine * moveVector,
  2553.         VARIANT_BOOL * doSend ) = 0;
  2554.     virtual HRESULT __stdcall ConfirmSendRelatedObjectSetMoved (
  2555.         struct IRelationshipClass * RelationshipClass,
  2556.         struct ISet * objectsThatChanged,
  2557.         struct ILine * moveVector,
  2558.         VARIANT_BOOL * doSend ) = 0;
  2559.     virtual HRESULT __stdcall ConfirmSendRelatedObjectRotated (
  2560.         struct IRelationshipClass * RelationshipClass,
  2561.         struct IObject * objectThatChanged,
  2562.         struct IPoint * Origin,
  2563.         double angle,
  2564.         VARIANT_BOOL * doSend ) = 0;
  2565.     virtual HRESULT __stdcall ConfirmSendRelatedObjectSetRotated (
  2566.         struct IRelationshipClass * RelationshipClass,
  2567.         struct ISet * objectsThatChanged,
  2568.         struct IPoint * Origin,
  2569.         double angle,
  2570.         VARIANT_BOOL * doSend ) = 0;
  2571. };
  2572. struct __declspec(uuid("d410a9ba-475a-11d2-9932-0000f80372b4"))
  2573. IValidation : IUnknown
  2574. {
  2575.     //
  2576.     // Raw methods provided by interface
  2577.     //
  2578.     virtual HRESULT __stdcall get_Rules (
  2579.         struct IEnumRule * * Rules ) = 0;
  2580.     virtual HRESULT __stdcall get_RulesByField (
  2581.         BSTR FieldName,
  2582.         struct IEnumRule * * Rules ) = 0;
  2583.     virtual HRESULT __stdcall get_RulesBySubtypeCode (
  2584.         long SubtypeCode,
  2585.         struct IEnumRule * * Rules ) = 0;
  2586.     virtual HRESULT __stdcall AddRule (
  2587.         struct IRule * Rule ) = 0;
  2588.     virtual HRESULT __stdcall DeleteRule (
  2589.         struct IRule * Rule ) = 0;
  2590.     virtual HRESULT __stdcall Validate (
  2591.         struct IQueryFilter * Selection,
  2592.         struct IWorkspace * Workspace,
  2593.         struct ISelectionSet * * invalidSet ) = 0;
  2594.     virtual HRESULT __stdcall ValidateSelection (
  2595.         struct ISelectionSet * Selection,
  2596.         struct IWorkspace * Workspace,
  2597.         struct ISelectionSet * * invalidSet ) = 0;
  2598.     virtual HRESULT __stdcall ValidateSet (
  2599.         struct ISet * Selection,
  2600.         struct ISet * * invalidSet ) = 0;
  2601. };
  2602. struct __declspec(uuid("f6289406-8952-11d2-aabc-00c04fa37b82"))
  2603. IEnumSubtype : IUnknown
  2604. {
  2605.     //
  2606.     // Raw methods provided by interface
  2607.     //
  2608.     virtual HRESULT __stdcall Next (
  2609.         long * SubtypeCode,
  2610.         BSTR * SubtypeName ) = 0;
  2611.     virtual HRESULT __stdcall Reset ( ) = 0;
  2612. };
  2613. struct __declspec(uuid("48469230-851c-11d4-a0c9-00c04f6bdd84"))
  2614. IValidation2 : IValidation
  2615. {
  2616.     //
  2617.     // Raw methods provided by interface
  2618.     //
  2619.     virtual HRESULT __stdcall AlterRule (
  2620.         struct IRule * Rule ) = 0;
  2621. };
  2622. struct __declspec(uuid("aef78514-848f-11d2-aaba-00c04fa37b82"))
  2623. ISubtypes : IUnknown
  2624. {
  2625.     //
  2626.     // Raw methods provided by interface
  2627.     //
  2628.     virtual HRESULT __stdcall get_HasSubtype (
  2629.         VARIANT_BOOL * HasSubtype ) = 0;
  2630.     virtual HRESULT __stdcall get_DefaultSubtypeCode (
  2631.         long * SubtypeCode ) = 0;
  2632.     virtual HRESULT __stdcall put_DefaultSubtypeCode (
  2633.         long SubtypeCode ) = 0;
  2634.     virtual HRESULT __stdcall get_DefaultValue (
  2635.         long SubtypeCode,
  2636.         BSTR FieldName,
  2637.         VARIANT * Value ) = 0;
  2638.     virtual HRESULT __stdcall put_DefaultValue (
  2639.         long SubtypeCode,
  2640.         BSTR FieldName,
  2641.         VARIANT Value ) = 0;
  2642.     virtual HRESULT __stdcall get_Domain (
  2643.         long SubtypeCode,
  2644.         BSTR FieldName,
  2645.         struct IDomain * * Domain ) = 0;
  2646.     virtual HRESULT __stdcall putref_Domain (
  2647.         long SubtypeCode,
  2648.         BSTR FieldName,
  2649.         struct IDomain * Domain ) = 0;
  2650.     virtual HRESULT __stdcall get_SubtypeFieldName (
  2651.         BSTR * FieldName ) = 0;
  2652.     virtual HRESULT __stdcall put_SubtypeFieldName (
  2653.         BSTR FieldName ) = 0;
  2654.     virtual HRESULT __stdcall get_SubtypeFieldIndex (
  2655.         long * Index ) = 0;
  2656.     virtual HRESULT __stdcall get_SubtypeName (
  2657.         long SubtypeCode,
  2658.         BSTR * SubtypeName ) = 0;
  2659.     virtual HRESULT __stdcall get_Subtypes (
  2660.         struct IEnumSubtype * * Subtypes ) = 0;
  2661.     virtual HRESULT __stdcall AddSubtype (
  2662.         long SubtypeCode,
  2663.         BSTR SubtypeName ) = 0;
  2664.     virtual HRESULT __stdcall DeleteSubtype (
  2665.         long SubtypeCode ) = 0;
  2666. };
  2667. struct __declspec(uuid("80e4ff2c-475d-11d2-9932-0000f80372b4"))
  2668. IValidate : IUnknown
  2669. {
  2670.     //
  2671.     // Raw methods provided by interface
  2672.     //
  2673.     virtual HRESULT __stdcall GetInvalidFields (
  2674.         struct IFields * * invalidFields ) = 0;
  2675.     virtual HRESULT __stdcall GetInvalidRules (
  2676.         struct IEnumRule * * invalidRules ) = 0;
  2677.     virtual HRESULT __stdcall GetInvalidRulesByField (
  2678.         BSTR FieldName,
  2679.         struct IEnumRule * * invalidRules ) = 0;
  2680.     virtual HRESULT __stdcall Validate (
  2681.         BSTR * errorMessage,
  2682.         VARIANT_BOOL * isValid ) = 0;
  2683. };
  2684. struct __declspec(uuid("fcb6bf32-475d-11d2-9932-0000f80372b4"))
  2685. IRangeDomain : IUnknown
  2686. {
  2687.     //
  2688.     // Raw methods provided by interface
  2689.     //
  2690.     virtual HRESULT __stdcall get_MinValue (
  2691.         VARIANT * Value ) = 0;
  2692.     virtual HRESULT __stdcall put_MinValue (
  2693.         VARIANT Value ) = 0;
  2694.     virtual HRESULT __stdcall get_MaxValue (
  2695.         VARIANT * Value ) = 0;
  2696.     virtual HRESULT __stdcall put_MaxValue (
  2697.         VARIANT Value ) = 0;
  2698. };
  2699. struct __declspec(uuid("fcb6bf33-475d-11d2-9932-0000f80372b4"))
  2700. ICodedValueDomain : IUnknown
  2701. {
  2702.     //
  2703.     // Raw methods provided by interface
  2704.     //
  2705.     virtual HRESULT __stdcall get_CodeCount (
  2706.         long * values ) = 0;
  2707.     virtual HRESULT __stdcall get_Name (
  2708.         long Index,
  2709.         BSTR * Name ) = 0;
  2710.     virtual HRESULT __stdcall get_Value (
  2711.         long Index,
  2712.         VARIANT * Value ) = 0;
  2713.     virtual HRESULT __stdcall AddCode (
  2714.         VARIANT Value,
  2715.         BSTR Name ) = 0;
  2716.     virtual HRESULT __stdcall DeleteCode (
  2717.         VARIANT Value ) = 0;
  2718. };
  2719. struct __declspec(uuid("fcb6bf34-475d-11d2-9932-0000f80372b4"))
  2720. IStringDomain : IUnknown
  2721. {
  2722.     //
  2723.     // Raw methods provided by interface
  2724.     //
  2725.     virtual HRESULT __stdcall get_Format (
  2726.         BSTR * Format ) = 0;
  2727.     virtual HRESULT __stdcall put_Format (
  2728.         BSTR Format ) = 0;
  2729. };
  2730. struct __declspec(uuid("f290d9e2-58e5-11d2-ab26-000000000000"))
  2731. IEdgeConnectivityRule : IConnectivityRule
  2732. {
  2733.     //
  2734.     // Raw methods provided by interface
  2735.     //
  2736.     virtual HRESULT __stdcall get_DefaultJunctionClassID (
  2737.         long * ClassID ) = 0;
  2738.     virtual HRESULT __stdcall put_DefaultJunctionClassID (
  2739.         long ClassID ) = 0;
  2740.     virtual HRESULT __stdcall get_DefaultJunctionSubtypeCode (
  2741.         long * Value ) = 0;
  2742.     virtual HRESULT __stdcall put_DefaultJunctionSubtypeCode (
  2743.         long Value ) = 0;
  2744.     virtual HRESULT __stdcall get_FromEdgeClassID (
  2745.         long * ClassID ) = 0;
  2746.     virtual HRESULT __stdcall put_FromEdgeClassID (
  2747.         long ClassID ) = 0;
  2748.     virtual HRESULT __stdcall get_FromEdgeSubtypeCode (
  2749.         long * Value ) = 0;
  2750.     virtual HRESULT __stdcall put_FromEdgeSubtypeCode (
  2751.         long Value ) = 0;
  2752.     virtual HRESULT __stdcall get_ToEdgeClassID (
  2753.         long * ClassID ) = 0;
  2754.     virtual HRESULT __stdcall put_ToEdgeClassID (
  2755.         long ClassID ) = 0;
  2756.     virtual HRESULT __stdcall get_ToEdgeSubtypeCode (
  2757.         long * Value ) = 0;
  2758.     virtual HRESULT __stdcall put_ToEdgeSubtypeCode (
  2759.         long Value ) = 0;
  2760.     virtual HRESULT __stdcall get_JunctionCount (
  2761.         long * values ) = 0;
  2762.     virtual HRESULT __stdcall get_JunctionClassID (
  2763.         long Index,
  2764.         long * Value ) = 0;
  2765.     virtual HRESULT __stdcall get_JunctionSubtypeCode (
  2766.         long Index,
  2767.         long * SubtypeCode ) = 0;
  2768.     virtual HRESULT __stdcall AddJunction (
  2769.         long ClassID,
  2770.         long SubtypeCode ) = 0;
  2771.     virtual HRESULT __stdcall ContainsJunction (
  2772.         long ClassID,
  2773.         long SubtypeCode,
  2774.         VARIANT_BOOL * contained ) = 0;
  2775.     virtual HRESULT __stdcall GetJunctionInfo (
  2776.         long Index,
  2777.         long * ClassID,
  2778.         long * SubtypeCode ) = 0;
  2779. };
  2780. struct __declspec(uuid("f290d9e3-58e5-11d2-ab26-000000000000"))
  2781. IJunctionConnectivityRule : IConnectivityRule
  2782. {
  2783.     //
  2784.     // Raw methods provided by interface
  2785.     //
  2786.     virtual HRESULT __stdcall get_EdgeClassID (
  2787.         long * ClassID ) = 0;
  2788.     virtual HRESULT __stdcall put_EdgeClassID (
  2789.         long ClassID ) = 0;
  2790.     virtual HRESULT __stdcall get_EdgeSubtypeCode (
  2791.         long * Value ) = 0;
  2792.     virtual HRESULT __stdcall put_EdgeSubtypeCode (
  2793.         long Value ) = 0;
  2794.     virtual HRESULT __stdcall get_EdgeMinimumCardinality (
  2795.         long * Value ) = 0;
  2796.     virtual HRESULT __stdcall put_EdgeMinimumCardinality (
  2797.         long Value ) = 0;
  2798.     virtual HRESULT __stdcall get_EdgeMaximumCardinality (
  2799.         long * Value ) = 0;
  2800.     virtual HRESULT __stdcall put_EdgeMaximumCardinality (
  2801.         long Value ) = 0;
  2802.     virtual HRESULT __stdcall get_JunctionClassID (
  2803.         long * ClassID ) = 0;
  2804.     virtual HRESULT __stdcall put_JunctionClassID (
  2805.         long ClassID ) = 0;
  2806.     virtual HRESULT __stdcall get_JunctionSubtypeCode (
  2807.         long * Value ) = 0;
  2808.     virtual HRESULT __stdcall put_JunctionSubtypeCode (
  2809.         long Value ) = 0;
  2810.     virtual HRESULT __stdcall get_JunctionMinimumCardinality (
  2811.         long * Value ) = 0;
  2812.     virtual HRESULT __stdcall put_JunctionMinimumCardinality (
  2813.         long Value ) = 0;
  2814.     virtual HRESULT __stdcall get_JunctionMaximumCardinality (
  2815.         long * Value ) = 0;
  2816.     virtual HRESULT __stdcall put_JunctionMaximumCardinality (
  2817.         long Value ) = 0;
  2818. };
  2819. struct __declspec(uuid("b93b7600-0feb-11d4-a063-00c04f6bdd84"))
  2820. IJunctionConnectivityRule2 : IJunctionConnectivityRule
  2821. {
  2822.     //
  2823.     // Raw methods provided by interface
  2824.     //
  2825.     virtual HRESULT __stdcall get_DefaultJunction (
  2826.         VARIANT_BOOL * isDefaultJunction ) = 0;