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

GIS编程

开发平台:

Visual C++

  1. };
  2. struct __declspec(uuid("0b437962-89f9-11d4-8b5f-000000000000"))
  3. IWorkspaceEditEvents : IUnknown
  4. {
  5.     //
  6.     // Raw methods provided by interface
  7.     //
  8.     virtual HRESULT __stdcall OnStartEditing (
  9.         VARIANT_BOOL withUndoRedo ) = 0;
  10.     virtual HRESULT __stdcall OnStopEditing (
  11.         VARIANT_BOOL saveEdits ) = 0;
  12.     virtual HRESULT __stdcall OnStartEditOperation ( ) = 0;
  13.     virtual HRESULT __stdcall OnAbortEditOperation ( ) = 0;
  14.     virtual HRESULT __stdcall OnStopEditOperation ( ) = 0;
  15.     virtual HRESULT __stdcall OnUndoEditOperation ( ) = 0;
  16.     virtual HRESULT __stdcall OnRedoEditOperation ( ) = 0;
  17. };
  18. struct __declspec(uuid("e2e4622f-55b4-11d3-9f77-00c04f6bdf0c"))
  19. ISpatialCacheManager : IUnknown
  20. {
  21.     //
  22.     // Raw methods provided by interface
  23.     //
  24.     virtual HRESULT __stdcall FillCache (
  25.         struct IEnvelope * pExtent ) = 0;
  26.     virtual HRESULT __stdcall EmptyCache ( ) = 0;
  27.     virtual HRESULT __stdcall get_CacheIsFull (
  28.         VARIANT_BOOL * IsFull ) = 0;
  29.     virtual HRESULT __stdcall get_CacheExtent (
  30.         struct IEnvelope * * ppEnvelope ) = 0;
  31. };
  32. struct __declspec(uuid("9078f181-bb75-11d4-9feb-00c04f6bdf0c"))
  33. ISpatialCacheManager2 : ISpatialCacheManager
  34. {
  35.     //
  36.     // Raw methods provided by interface
  37.     //
  38.     virtual HRESULT __stdcall FillCacheEx (
  39.         struct IEnvelope * pExtent,
  40.         double expansionFactor ) = 0;
  41.     virtual HRESULT __stdcall get_CacheExpansionFactor (
  42.         double * expansionFactor ) = 0;
  43. };
  44. struct __declspec(uuid("74d077b7-4f42-439d-8aca-2433cbd15916"))
  45. ISpatialCacheManager3 : ISpatialCacheManager2
  46. {
  47.     //
  48.     // Raw methods provided by interface
  49.     //
  50.     virtual HRESULT __stdcall FillCacheWithCancel (
  51.         struct IEnvelope * pExtent,
  52.         double expansionFactor,
  53.         struct ITrackCancel * pCancelTraker ) = 0;
  54. };
  55. struct __declspec(uuid("6b267c02-28cc-11d3-9f67-00c04f6bdf0c"))
  56. IGeoDatasetSchemaEdit : IUnknown
  57. {
  58.     //
  59.     // Raw methods provided by interface
  60.     //
  61.     virtual HRESULT __stdcall get_CanAlterSpatialReference (
  62.         VARIANT_BOOL * canAlter ) = 0;
  63.     virtual HRESULT __stdcall AlterSpatialReference (
  64.         struct ISpatialReference * SpatialReference ) = 0;
  65. };
  66. struct __declspec(uuid("9d039f1b-8b1e-494d-81b1-c6b6ae7c167a"))
  67. IVersionedWorkspace2 : IVersionedWorkspace
  68. {
  69.     //
  70.     // Raw methods provided by interface
  71.     //
  72.     virtual HRESULT __stdcall get_RecommendedReconcileOrder (
  73.         struct IEnumVersionInfo * * infoEnum ) = 0;
  74. };
  75. struct __declspec(uuid("884d388e-8918-443a-8f4a-db5aac5b9d5e"))
  76. IVersionedObject2 : IVersionedObject
  77. {
  78.     //
  79.     // Raw methods provided by interface
  80.     //
  81.     virtual HRESULT __stdcall get_HasUncompressedEdits (
  82.         VARIANT_BOOL * HasUncompressedEdits ) = 0;
  83. };
  84. struct __declspec(uuid("adf6d66d-a47a-11d4-9f87-00c04f6bdf0e"))
  85. IFileDataLock : IUnknown
  86. {
  87.     //
  88.     // Raw methods provided by interface
  89.     //
  90.     virtual HRESULT __stdcall AcquireFileLock (
  91.         enum esriLockMgrType LockType ) = 0;
  92.     virtual HRESULT __stdcall ReleaseFileLock ( ) = 0;
  93.     virtual HRESULT __stdcall ChangeFileLock (
  94.         enum esriLockMgrType LockType ) = 0;
  95.     virtual HRESULT __stdcall GetLockType (
  96.         enum esriLockMgrType * LockType ) = 0;
  97. };
  98. struct __declspec(uuid("660214d1-7c1b-11d3-80ea-00c04f686238"))
  99. IDatabaseCompact : IUnknown
  100. {
  101.     //
  102.     // Raw methods provided by interface
  103.     //
  104.     virtual HRESULT __stdcall Compact ( ) = 0;
  105.     virtual HRESULT __stdcall CanCompact (
  106.         VARIANT_BOOL * CanCompact ) = 0;
  107. };
  108. struct __declspec(uuid("516c0a6d-8021-11d3-80eb-00c04f686238"))
  109. ILocalDatabaseCompact : IUnknown
  110. {
  111.     //
  112.     // Raw methods provided by interface
  113.     //
  114.     virtual HRESULT __stdcall Compact (
  115.         struct IWorkspaceName * Name ) = 0;
  116. };
  117. struct __declspec(uuid("094a1c7d-90ae-11d3-80ef-00c04f686238"))
  118. ISetDefaultConnectionInfo : IUnknown
  119. {
  120.     //
  121.     // Raw methods provided by interface
  122.     //
  123.     virtual HRESULT __stdcall SetParameters (
  124.         BSTR server,
  125.         BSTR instance,
  126.         BSTR user,
  127.         BSTR password,
  128.         BSTR versName ) = 0;
  129. };
  130. struct __declspec(uuid("518570d2-ef66-4b3b-b0bb-fcac077814df"))
  131. ISetDefaultConnectionInfo2 : ISetDefaultConnectionInfo
  132. {
  133.     //
  134.     // Raw methods provided by interface
  135.     //
  136.     virtual HRESULT __stdcall ClearParameters (
  137.         BSTR server,
  138.         BSTR instance ) = 0;
  139. };
  140. struct __declspec(uuid("bdc57556-f689-4149-a526-b49dea3f443f"))
  141. INativeType : IUnknown
  142. {
  143.     //
  144.     // Raw methods provided by interface
  145.     //
  146.     virtual HRESULT __stdcall get_TypeID (
  147.         struct IUID * * ppTypeID ) = 0;
  148.     virtual HRESULT __stdcall get_Description (
  149.         BSTR * pString ) = 0;
  150. };
  151. struct __declspec(uuid("12b123e8-895d-4d2f-a7b0-c7c07cf195e0"))
  152. INativeTypeSearch : IUnknown
  153. {
  154.     //
  155.     // Raw methods provided by interface
  156.     //
  157.     virtual HRESULT __stdcall get_ExcludeChildren (
  158.         VARIANT_BOOL * pExcludeChildren ) = 0;
  159. };
  160. struct __declspec(uuid("906db24a-f0ad-4ca5-871b-5466e54fab80"))
  161. INativeTypeInfo : IUnknown
  162. {
  163.     //
  164.     // Raw methods provided by interface
  165.     //
  166.     virtual HRESULT __stdcall get_NativeType (
  167.         struct INativeType * * ppNativeType ) = 0;
  168. };
  169. struct __declspec(uuid("d425f87a-5b3a-4200-a050-380084cbedf0"))
  170. IComplexNativeType : IUnknown
  171. {
  172.     //
  173.     // Raw methods provided by interface
  174.     //
  175.     virtual HRESULT __stdcall AddChild (
  176.         struct INativeType * pChild ) = 0;
  177.     virtual HRESULT __stdcall GetChild (
  178.         int Index,
  179.         struct INativeType * * ppChild ) = 0;
  180.     virtual HRESULT __stdcall get_NumChildren (
  181.         int * pNumChildren ) = 0;
  182. };
  183. struct __declspec(uuid("da10c1c6-09a3-11d4-9faa-00c04f6bdf0c"))
  184. WorkspaceHelper;
  185.     // [ default ] interface IUnknown
  186.     // interface IWorkspaceHelper
  187. struct __declspec(uuid("36a4d970-f5d5-11d3-8120-00c04f686238"))
  188. IEnumNameMapping : IUnknown
  189. {
  190.     //
  191.     // Raw methods provided by interface
  192.     //
  193.     virtual HRESULT __stdcall Next (
  194.         struct INameMapping * * info ) = 0;
  195.     virtual HRESULT __stdcall Reset ( ) = 0;
  196.     virtual HRESULT __stdcall FindDatasetName (
  197.         BSTR Name,
  198.         enum esriDatasetType Type,
  199.         struct INameMapping * * info ) = 0;
  200.     virtual HRESULT __stdcall FindDomain (
  201.         BSTR Name,
  202.         struct INameMapping * * info ) = 0;
  203. };
  204. struct __declspec(uuid("36a4d96f-f5d5-11d3-8120-00c04f686238"))
  205. INameMapping : IUnknown
  206. {
  207.     //
  208.     // Raw methods provided by interface
  209.     //
  210.     virtual HRESULT __stdcall get_SourceObject (
  211.         IUnknown * * sObject ) = 0;
  212.     virtual HRESULT __stdcall put_TargetName (
  213.         BSTR Name ) = 0;
  214.     virtual HRESULT __stdcall get_TargetName (
  215.         BSTR * Name ) = 0;
  216.     virtual HRESULT __stdcall get_NameConflicts (
  217.         VARIANT_BOOL * conflicts ) = 0;
  218.     virtual HRESULT __stdcall ValidateTargetName (
  219.         struct IName * toName ) = 0;
  220.     virtual HRESULT __stdcall GetSuggestedName (
  221.         struct IName * toName,
  222.         BSTR * Name ) = 0;
  223.     virtual HRESULT __stdcall get_Children (
  224.         struct IEnumNameMapping * * Objects ) = 0;
  225.     virtual HRESULT __stdcall put_ConfigKeyword (
  226.         BSTR _arg1 ) = 0;
  227. };
  228. struct __declspec(uuid("d4e6badf-3eb9-4f4e-9103-c7d0cbc119a2"))
  229. INameMapping2 : INameMapping
  230. {
  231.     //
  232.     // Raw methods provided by interface
  233.     //
  234.     virtual HRESULT __stdcall get_ConfigKeyword (
  235.         BSTR * keyword ) = 0;
  236.     virtual HRESULT __stdcall get_Created (
  237.         VARIANT_BOOL * Created ) = 0;
  238. };
  239. struct __declspec(uuid("5f345e5f-4251-11d4-8145-00c04f686238"))
  240. IEnumSpatialReferenceInfo : IUnknown
  241. {
  242.     //
  243.     // Raw methods provided by interface
  244.     //
  245.     virtual HRESULT __stdcall Next (
  246.         long * srid,
  247.         struct ISpatialReference * * info ) = 0;
  248.     virtual HRESULT __stdcall Reset ( ) = 0;
  249. };
  250. struct __declspec(uuid("89890719-42d8-11d4-8145-00c04f686238"))
  251. IWorkspaceSpatialReferenceInfo : IUnknown
  252. {
  253.     //
  254.     // Raw methods provided by interface
  255.     //
  256.     virtual HRESULT __stdcall get_SpatialReferenceInfo (
  257.         struct IEnumSpatialReferenceInfo * * spatialReferences ) = 0;
  258. };
  259. struct __declspec(uuid("2be5da4c-7a75-4cc9-aa73-c0320b89846f"))
  260. IConfigurationKeyword : IUnknown
  261. {
  262.     //
  263.     // Raw methods provided by interface
  264.     //
  265.     virtual HRESULT __stdcall get_KeywordType (
  266.         enum esriConfigurationKeywordType * KeywordType ) = 0;
  267.     virtual HRESULT __stdcall get_Name (
  268.         BSTR * Name ) = 0;
  269.     virtual HRESULT __stdcall get_Description (
  270.         BSTR * desc ) = 0;
  271.     virtual HRESULT __stdcall get_Comments (
  272.         BSTR * Comments ) = 0;
  273.     virtual HRESULT __stdcall get_ConfigurationParameters (
  274.         struct IEnumConfigurationParameter * * params ) = 0;
  275. };
  276. enum esriConfigurationKeywordType
  277. {
  278.     esriConfigurationKeywordGeneral = 1,
  279.     esriConfigurationKeywordNetwork = 2,
  280.     esriConfigurationKeywordTopology = 3
  281. };
  282. struct __declspec(uuid("75b1cca3-ee77-4a5f-8fcd-1775d6f9497b"))
  283. IEnumConfigurationParameter : IUnknown
  284. {
  285.     //
  286.     // Raw methods provided by interface
  287.     //
  288.     virtual HRESULT __stdcall Next (
  289.         struct IConfigurationParameter * * param ) = 0;
  290.     virtual HRESULT __stdcall Reset ( ) = 0;
  291. };
  292. struct __declspec(uuid("32bd0a83-25e5-4f24-b81b-5ebea2dfe35a"))
  293. IConfigurationParameter : IUnknown
  294. {
  295.     //
  296.     // Raw methods provided by interface
  297.     //
  298.     virtual HRESULT __stdcall get_Name (
  299.         BSTR * Name ) = 0;
  300.     virtual HRESULT __stdcall get_ConfigurationString (
  301.         BSTR * str ) = 0;
  302. };
  303. struct __declspec(uuid("b055bbd8-de08-49cd-a589-fffd22112cd5"))
  304. IEnumConfigurationKeyword : IUnknown
  305. {
  306.     //
  307.     // Raw methods provided by interface
  308.     //
  309.     virtual HRESULT __stdcall Next (
  310.         struct IConfigurationKeyword * * keyword ) = 0;
  311.     virtual HRESULT __stdcall Reset ( ) = 0;
  312. };
  313. struct __declspec(uuid("9e8f5c35-7888-4df9-862c-9dd74eff9062"))
  314. IWorkspaceConfiguration : IUnknown
  315. {
  316.     //
  317.     // Raw methods provided by interface
  318.     //
  319.     virtual HRESULT __stdcall get_ConfigurationKeywords (
  320.         struct IEnumConfigurationKeyword * * keywords ) = 0;
  321. };
  322. struct __declspec(uuid("2a07e8d8-309f-47f1-b9ae-c546add83a83"))
  323. WorkspaceProperty;
  324.     // [ default ] interface IUnknown
  325.     // interface IWorkspaceProperty
  326. struct __declspec(uuid("849fc785-8d9e-11d4-9fd8-00c04f6bdf0c"))
  327. WorkspaceEditEvents;
  328.     // [ default ] interface IUnknown
  329.     // [ default, source ] interface IWorkspaceEditEvents
  330. struct __declspec(uuid("fbf5715b-a05d-11d4-a64c-0008c711c8c1"))
  331. Workspace;
  332.     // [ default ] interface IUnknown
  333.     // interface IWorkspace
  334.     // interface IWorkspace2
  335.     // interface IDataset
  336.     // interface IDatasetContainer
  337.     // interface IWorkspaceEdit
  338.     // interface IWorkspaceEditControl
  339.     // interface IFeatureWorkspace
  340.     // interface IFeatureWorkspaceManage
  341.     // interface IFeatureWorkspaceSchemaEdit
  342.     // interface IGeodatabaseRelease
  343.     // interface ITransactions
  344.     // interface ITransactionsOptions
  345.     // interface IWorkspaceDomains
  346.     // interface IWorkspaceDomains2
  347.     // interface ISpatialCacheManager
  348.     // interface ISpatialCacheManager2
  349.     // interface IFeatureWorkspaceAnno
  350.     // interface IDatabaseCompact
  351.     // interface ISQLSyntax
  352.     // interface IWorkspaceConfiguration
  353.     // interface IWorkspaceSpatialReferenceInfo
  354.     // interface IWorkspaceExtensionManager
  355.     // interface IDatabaseConnectionInfo
  356.     // interface IRasterWorkspaceEx
  357.     // [ default, source ] interface IWorkspaceEvents
  358.     // interface IWorkspaceReplicas
  359.     // interface IWorkspaceReplicasAdmin
  360.     // interface IWorkspaceReplicaDatasets
  361.     // interface ITopologyWorkspace
  362. struct __declspec(uuid("bd770969-efb7-11d3-9fa2-00c04f6bdf0c"))
  363. IDatasetContainer : IUnknown
  364. {
  365.     //
  366.     // Raw methods provided by interface
  367.     //
  368.     virtual HRESULT __stdcall AddDataset (
  369.         struct IDataset * pDatasetToAdd ) = 0;
  370. };
  371. struct __declspec(uuid("d9cab491-3f69-11d1-b095-0000f8780820"))
  372. IFeatureWorkspace : IUnknown
  373. {
  374.     //
  375.     // Raw methods provided by interface
  376.     //
  377.     virtual HRESULT __stdcall OpenTable (
  378.         BSTR Name,
  379.         struct ITable * * Table ) = 0;
  380.     virtual HRESULT __stdcall CreateTable (
  381.         BSTR Name,
  382.         struct IFields * Fields,
  383.         struct IUID * CLSID,
  384.         struct IUID * EXTCLSID,
  385.         BSTR ConfigKeyword,
  386.         struct ITable * * Table ) = 0;
  387.     virtual HRESULT __stdcall OpenFeatureClass (
  388.         BSTR Name,
  389.         struct IFeatureClass * * ppFeatureClass ) = 0;
  390.     virtual HRESULT __stdcall CreateFeatureClass (
  391.         BSTR Name,
  392.         struct IFields * Fields,
  393.         struct IUID * CLSID,
  394.         struct IUID * EXTCLSID,
  395.         enum esriFeatureType FeatureType,
  396.         BSTR ShapeFieldName,
  397.         BSTR ConfigKeyword,
  398.         struct IFeatureClass * * oclass ) = 0;
  399.     virtual HRESULT __stdcall OpenFeatureDataset (
  400.         BSTR Name,
  401.         struct IFeatureDataset * * Dataset ) = 0;
  402.     virtual HRESULT __stdcall CreateFeatureDataset (
  403.         BSTR Name,
  404.         struct ISpatialReference * SpatialReference,
  405.         struct IFeatureDataset * * Dataset ) = 0;
  406.     virtual HRESULT __stdcall CreateQueryDef (
  407.         struct IQueryDef * * ppQueryDef ) = 0;
  408.     virtual HRESULT __stdcall OpenFeatureQuery (
  409.         BSTR QueryName,
  410.         struct IQueryDef * pQueryDef,
  411.         struct IFeatureDataset * * FeatureDataset ) = 0;
  412.     virtual HRESULT __stdcall OpenRelationshipClass (
  413.         BSTR Name,
  414.         struct IRelationshipClass * * ppRelationshipClass ) = 0;
  415.     virtual HRESULT __stdcall CreateRelationshipClass (
  416.         BSTR relClassName,
  417.         struct IObjectClass * OriginClass,
  418.         struct IObjectClass * DestinationClass,
  419.         BSTR forwardLabel,
  420.         BSTR backwardLabel,
  421.         enum esriRelCardinality Cardinality,
  422.         enum esriRelNotification Notification,
  423.         VARIANT_BOOL IsComposite,
  424.         VARIANT_BOOL IsAttributed,
  425.         struct IFields * relAttrFields,
  426.         BSTR OriginPrimaryKey,
  427.         BSTR destPrimaryKey,
  428.         BSTR OriginForeignKey,
  429.         BSTR destForeignKey,
  430.         struct IRelationshipClass * * ppRelationshipClass ) = 0;
  431.     virtual HRESULT __stdcall OpenRelationshipQuery (
  432.         struct IRelationshipClass * pRelClass,
  433.         VARIANT_BOOL joinForward,
  434.         struct IQueryFilter * pSrcQueryFilter,
  435.         struct ISelectionSet * pSrcSelectionSet,
  436.         BSTR TargetColumns,
  437.         VARIANT_BOOL DoNotPushJoinToDB,
  438.         struct ITable * * ppTable ) = 0;
  439. };
  440. struct __declspec(uuid("1afcdb32-ac09-11d2-8a1e-006097aff44e"))
  441. IClass : IUnknown
  442. {
  443.     //
  444.     // Raw methods provided by interface
  445.     //
  446.     virtual HRESULT __stdcall FindField (
  447.         BSTR Name,
  448.         long * FieldIndex ) = 0;
  449.     virtual HRESULT __stdcall get_Fields (
  450.         struct IFields * * Fields ) = 0;
  451.     virtual HRESULT __stdcall get_Indexes (
  452.         struct IIndexes * * Indexes ) = 0;
  453.     virtual HRESULT __stdcall AddField (
  454.         struct IField * Field ) = 0;
  455.     virtual HRESULT __stdcall DeleteField (
  456.         struct IField * Field ) = 0;
  457.     virtual HRESULT __stdcall AddIndex (
  458.         struct IIndex * Index ) = 0;
  459.     virtual HRESULT __stdcall DeleteIndex (
  460.         struct IIndex * Index ) = 0;
  461.     virtual HRESULT __stdcall get_HasOID (
  462.         VARIANT_BOOL * HasOID ) = 0;
  463.     virtual HRESULT __stdcall get_OIDFieldName (
  464.         BSTR * Name ) = 0;
  465.     virtual HRESULT __stdcall get_CLSID (
  466.         struct IUID * * InstanceCLSID ) = 0;
  467.     virtual HRESULT __stdcall get_EXTCLSID (
  468.         struct IUID * * ClassExtensionCLSID ) = 0;
  469.     virtual HRESULT __stdcall get_Extension (
  470.         IUnknown * * ppUnknown ) = 0;
  471.     virtual HRESULT __stdcall get_ExtensionProperties (
  472.         struct IPropertySet * * extProps ) = 0;
  473. };
  474. struct __declspec(uuid("fcb01cb5-9f0b-11d0-bec7-00805f7c4268"))
  475. ITable : IClass
  476. {
  477.     //
  478.     // Raw methods provided by interface
  479.     //
  480.     virtual HRESULT __stdcall CreateRow (
  481.         struct IRow * * Row ) = 0;
  482.     virtual HRESULT __stdcall GetRow (
  483.         long OID,
  484.         struct IRow * * Row ) = 0;
  485.     virtual HRESULT __stdcall GetRows (
  486.         VARIANT oids,
  487.         VARIANT_BOOL Recycling,
  488.         struct ICursor * * Cursor ) = 0;
  489.     virtual HRESULT __stdcall CreateRowBuffer (
  490.         struct IRowBuffer * * buffer ) = 0;
  491.     virtual HRESULT __stdcall UpdateSearchedRows (
  492.         struct IQueryFilter * QueryFilter,
  493.         struct IRowBuffer * buffer ) = 0;
  494.     virtual HRESULT __stdcall DeleteSearchedRows (
  495.         struct IQueryFilter * QueryFilter ) = 0;
  496.     virtual HRESULT __stdcall RowCount (
  497.         struct IQueryFilter * QueryFilter,
  498.         long * numRows ) = 0;
  499.     virtual HRESULT __stdcall Search (
  500.         struct IQueryFilter * QueryFilter,
  501.         VARIANT_BOOL Recycling,
  502.         struct ICursor * * Cursor ) = 0;
  503.     virtual HRESULT __stdcall Update (
  504.         struct IQueryFilter * QueryFilter,
  505.         VARIANT_BOOL Recycling,
  506.         struct ICursor * * Cursor ) = 0;
  507.     virtual HRESULT __stdcall Insert (
  508.         VARIANT_BOOL useBuffering,
  509.         struct ICursor * * Cursor ) = 0;
  510.     virtual HRESULT __stdcall Select (
  511.         struct IQueryFilter * QueryFilter,
  512.         enum esriSelectionType selType,
  513.         enum esriSelectionOption selOption,
  514.         struct IWorkspace * selectionContainer,
  515.         struct ISelectionSet * * ppSelectionSet ) = 0;
  516. };
  517. struct __declspec(uuid("6b2072e3-23f7-11d1-89d8-006097aff44e"))
  518. IFields : IUnknown
  519. {
  520.     //
  521.     // Raw methods provided by interface
  522.     //
  523.     virtual HRESULT __stdcall get_FieldCount (
  524.         long * numFields ) = 0;
  525.     virtual HRESULT __stdcall get_Field (
  526.         long Index,
  527.         struct IField * * Field ) = 0;
  528.     virtual HRESULT __stdcall FindField (
  529.         BSTR Name,
  530.         long * Index ) = 0;
  531.     virtual HRESULT __stdcall FindFieldByAliasName (
  532.         BSTR Name,
  533.         long * Index ) = 0;
  534. };
  535. struct __declspec(uuid("fcb01cb3-9f0b-11d0-bec7-00805f7c4268"))
  536. IField : IUnknown
  537. {
  538.     //
  539.     // Raw methods provided by interface
  540.     //
  541.     virtual HRESULT __stdcall get_Name (
  542.         BSTR * Name ) = 0;
  543.     virtual HRESULT __stdcall get_AliasName (
  544.         BSTR * Name ) = 0;
  545.     virtual HRESULT __stdcall get_Type (
  546.         enum esriFieldType * Type ) = 0;
  547.     virtual HRESULT __stdcall get_Domain (
  548.         struct IDomain * * Domain ) = 0;
  549.     virtual HRESULT __stdcall get_DefaultValue (
  550.         VARIANT * Value ) = 0;
  551.     virtual HRESULT __stdcall get_Length (
  552.         long * Length ) = 0;
  553.     virtual HRESULT __stdcall get_Precision (
  554.         long * Length ) = 0;
  555.     virtual HRESULT __stdcall get_Scale (
  556.         long * Length ) = 0;
  557.     virtual HRESULT __stdcall get_IsNullable (
  558.         VARIANT_BOOL * IsNullable ) = 0;
  559.     virtual HRESULT __stdcall get_GeometryDef (
  560.         struct IGeometryDef * * GeometryDef ) = 0;
  561.     virtual HRESULT __stdcall get_VarType (
  562.         long * VarType ) = 0;
  563.     virtual HRESULT __stdcall get_DomainFixed (
  564.         VARIANT_BOOL * isFixed ) = 0;
  565.     virtual HRESULT __stdcall get_Required (
  566.         VARIANT_BOOL * isRequired ) = 0;
  567.     virtual HRESULT __stdcall get_Editable (
  568.         VARIANT_BOOL * IsEditable ) = 0;
  569.     virtual HRESULT __stdcall CheckValue (
  570.         VARIANT Value,
  571.         VARIANT_BOOL * isValidValue ) = 0;
  572. };
  573. enum esriFieldType
  574. {
  575.     esriFieldTypeSmallInteger = 0,
  576.     esriFieldTypeInteger = 1,
  577.     esriFieldTypeSingle = 2,
  578.     esriFieldTypeDouble = 3,
  579.     esriFieldTypeString = 4,
  580.     esriFieldTypeDate = 5,
  581.     esriFieldTypeOID = 6,
  582.     esriFieldTypeGeometry = 7,
  583.     esriFieldTypeBlob = 8,
  584.     esriFieldTypeRaster = 9,
  585.     esriFieldTypeGUID = 10,
  586.     esriFieldTypeGlobalID = 11
  587. };
  588. struct __declspec(uuid("df18fe0a-84ba-11d2-ab61-000000000000"))
  589. IDomain : IUnknown
  590. {
  591.     //
  592.     // Raw methods provided by interface
  593.     //
  594.     virtual HRESULT __stdcall get_DomainID (
  595.         long * ID ) = 0;
  596.     virtual HRESULT __stdcall put_DomainID (
  597.         long ID ) = 0;
  598.     virtual HRESULT __stdcall get_Description (
  599.         BSTR * Description ) = 0;
  600.     virtual HRESULT __stdcall put_Description (
  601.         BSTR Description ) = 0;
  602.     virtual HRESULT __stdcall get_FieldType (
  603.         enum esriFieldType * FieldType ) = 0;
  604.     virtual HRESULT __stdcall put_FieldType (
  605.         enum esriFieldType FieldType ) = 0;
  606.     virtual HRESULT __stdcall get_MergePolicy (
  607.         enum esriMergePolicyType * policy ) = 0;
  608.     virtual HRESULT __stdcall put_MergePolicy (
  609.         enum esriMergePolicyType policy ) = 0;
  610.     virtual HRESULT __stdcall get_SplitPolicy (
  611.         enum esriSplitPolicyType * policy ) = 0;
  612.     virtual HRESULT __stdcall put_SplitPolicy (
  613.         enum esriSplitPolicyType policy ) = 0;
  614.     virtual HRESULT __stdcall get_Name (
  615.         BSTR * Name ) = 0;
  616.     virtual HRESULT __stdcall put_Name (
  617.         BSTR Name ) = 0;
  618.     virtual HRESULT __stdcall get_Owner (
  619.         BSTR * Owner ) = 0;
  620.     virtual HRESULT __stdcall put_Owner (
  621.         BSTR Owner ) = 0;
  622.     virtual HRESULT __stdcall get_Type (
  623.         enum esriDomainType * Type ) = 0;
  624.     virtual HRESULT __stdcall MemberOf (
  625.         VARIANT Value,
  626.         VARIANT_BOOL * isMember ) = 0;
  627. };
  628. enum esriMergePolicyType
  629. {
  630.     esriMPTSumValues = 1,
  631.     esriMPTAreaWeighted = 2,
  632.     esriMPTDefaultValue = 3
  633. };
  634. enum esriSplitPolicyType
  635. {
  636.     esriSPTGeometryRatio = 1,
  637.     esriSPTDuplicate = 2,
  638.     esriSPTDefaultValue = 3
  639. };
  640. enum esriDomainType
  641. {
  642.     esriDTRange = 1,
  643.     esriDTCodedValue = 2,
  644.     esriDTString = 3
  645. };
  646. struct __declspec(uuid("439a0d50-3915-11d1-9ca7-0000f8780619"))
  647. IGeometryDef : IUnknown
  648. {
  649.     //
  650.     // Raw methods provided by interface
  651.     //
  652.     virtual HRESULT __stdcall get_AvgNumPoints (
  653.         long * points ) = 0;
  654.     virtual HRESULT __stdcall get_GeometryType (
  655.         enum esriGeometryType * GeometryType ) = 0;
  656.     virtual HRESULT __stdcall get_GridSize (
  657.         long Index,
  658.         double * Size ) = 0;
  659.     virtual HRESULT __stdcall get_GridCount (
  660.         long * grids ) = 0;
  661.     virtual HRESULT __stdcall get_SpatialReference (
  662.         struct ISpatialReference * * SpatialReference ) = 0;
  663.     virtual HRESULT __stdcall get_HasZ (
  664.         VARIANT_BOOL * pbHasZ ) = 0;
  665.     virtual HRESULT __stdcall get_HasM (
  666.         VARIANT_BOOL * pbHasM ) = 0;
  667. };
  668. struct __declspec(uuid("2063fd03-4ce0-11d1-89db-006097aff44e"))
  669. IIndexes : IUnknown
  670. {
  671.     //
  672.     // Raw methods provided by interface
  673.     //
  674.     virtual HRESULT __stdcall get_IndexCount (
  675.         long * numIndexes ) = 0;
  676.     virtual HRESULT __stdcall get_Index (
  677.         long pos,
  678.         struct IIndex * * Index ) = 0;
  679.     virtual HRESULT __stdcall FindIndex (
  680.         BSTR Name,
  681.         long * pos ) = 0;
  682.     virtual HRESULT __stdcall FindIndexesByFieldName (
  683.         BSTR FieldName,
  684.         struct IEnumIndex * * pEnumIndex ) = 0;
  685. };
  686. struct __declspec(uuid("2063fd01-4ce0-11d1-89db-006097aff44e"))
  687. IIndex : IUnknown
  688. {
  689.     //
  690.     // Raw methods provided by interface
  691.     //
  692.     virtual HRESULT __stdcall get_Name (
  693.         BSTR * Name ) = 0;
  694.     virtual HRESULT __stdcall get_IsUnique (
  695.         VARIANT_BOOL * IsUnique ) = 0;
  696.     virtual HRESULT __stdcall get_IsAscending (
  697.         VARIANT_BOOL * IsAscending ) = 0;
  698.     virtual HRESULT __stdcall get_Fields (
  699.         struct IFields * * Fields ) = 0;
  700. };
  701. struct __declspec(uuid("23bd2b49-bf8b-11d2-aadd-00c04fa37849"))
  702. IEnumIndex : IUnknown
  703. {
  704.     //
  705.     // Raw methods provided by interface
  706.     //
  707.     virtual HRESULT __stdcall Next (
  708.         struct IIndex * * Index ) = 0;
  709.     virtual HRESULT __stdcall Reset ( ) = 0;
  710. };
  711. struct __declspec(uuid("93684651-1a83-11d1-8802-0000f877762d"))
  712. IRowBuffer : IUnknown
  713. {
  714.     //
  715.     // Raw methods provided by interface
  716.     //
  717.     virtual HRESULT __stdcall get_Value (
  718.         long Index,
  719.         VARIANT * Value ) = 0;
  720.     virtual HRESULT __stdcall put_Value (
  721.         long Index,
  722.         VARIANT Value ) = 0;
  723.     virtual HRESULT __stdcall get_Fields (
  724.         struct IFields * * Fields ) = 0;
  725. };
  726. struct __declspec(uuid("fcb01cb4-9f0b-11d0-bec7-00805f7c4268"))
  727. IRow : IRowBuffer
  728. {
  729.     //
  730.     // Raw methods provided by interface
  731.     //
  732.     virtual HRESULT __stdcall get_HasOID (
  733.         VARIANT_BOOL * HasOID ) = 0;
  734.     virtual HRESULT __stdcall get_OID (
  735.         long * OID ) = 0;
  736.     virtual HRESULT __stdcall get_Table (
  737.         struct ITable * * Table ) = 0;
  738.     virtual HRESULT __stdcall Store ( ) = 0;
  739.     virtual HRESULT __stdcall Delete ( ) = 0;
  740. };
  741. struct __declspec(uuid("d4803ee7-79f4-11d0-97fc-0080c7f79481"))
  742. ICursor : IUnknown
  743. {
  744.     //
  745.     // Raw methods provided by interface
  746.     //
  747.     virtual HRESULT __stdcall FindField (
  748.         BSTR Name,
  749.         long * FieldIndex ) = 0;
  750.     virtual HRESULT __stdcall get_Fields (
  751.         struct IFields * * Fields ) = 0;
  752.     virtual HRESULT __stdcall NextRow (
  753.         struct IRow * * Row ) = 0;
  754.     virtual HRESULT __stdcall UpdateRow (
  755.         struct IRow * Row ) = 0;
  756.     virtual HRESULT __stdcall DeleteRow ( ) = 0;
  757.     virtual HRESULT __stdcall InsertRow (
  758.         struct IRowBuffer * buffer,
  759.         VARIANT * OID ) = 0;
  760.     virtual HRESULT __stdcall Flush ( ) = 0;
  761. };
  762. struct __declspec(uuid("fdfebd93-ed75-11d0-9a95-080009ec734b"))
  763. IQueryFilter : IUnknown
  764. {
  765.     //
  766.     // Raw methods provided by interface
  767.     //
  768.     virtual HRESULT __stdcall get_SubFields (
  769.         BSTR * SubFields ) = 0;
  770.     virtual HRESULT __stdcall put_SubFields (
  771.         BSTR SubFields ) = 0;
  772.     virtual HRESULT __stdcall AddField (
  773.         BSTR subField ) = 0;
  774.     virtual HRESULT __stdcall get_WhereClause (
  775.         BSTR * WhereClause ) = 0;
  776.     virtual HRESULT __stdcall put_WhereClause (
  777.         BSTR WhereClause ) = 0;
  778.     virtual HRESULT __stdcall get_OutputSpatialReference (
  779.         BSTR FieldName,
  780.         struct ISpatialReference * * OutputSpatialReference ) = 0;
  781.     virtual HRESULT __stdcall putref_OutputSpatialReference (
  782.         BSTR FieldName,
  783.         struct ISpatialReference * OutputSpatialReference ) = 0;
  784. };
  785. enum esriSelectionType
  786. {
  787.     esriSelectionTypeIDSet = 1,
  788.     esriSelectionTypeSnapshot = 2,
  789.     esriSelectionTypeHybrid = 3
  790. };
  791. enum esriSelectionOption
  792. {
  793.     esriSelectionOptionNormal = 1,
  794.     esriSelectionOptionOnlyOne = 2,
  795.     esriSelectionOptionEmpty = 3
  796. };
  797. struct __declspec(uuid("f7ad47d1-d55e-11d1-8882-0000f877762d"))
  798. ISelectionSet : IUnknown
  799. {
  800.     //
  801.     // Raw methods provided by interface
  802.     //
  803.     virtual HRESULT __stdcall get_FullName (
  804.         struct IName * * ppName ) = 0;
  805.     virtual HRESULT __stdcall get_Target (
  806.         struct ITable * * ppTarget ) = 0;
  807.     virtual HRESULT __stdcall MakePermanent ( ) = 0;
  808.     virtual HRESULT __stdcall get_Count (
  809.         long * numObjectIds ) = 0;
  810.     virtual HRESULT __stdcall Add (
  811.         long OID ) = 0;
  812.     virtual HRESULT __stdcall AddList (
  813.         long Count,
  814.         long * OIDList ) = 0;
  815.     virtual HRESULT __stdcall Combine (
  816.         struct ISelectionSet * otherSet,
  817.         enum esriSetOperation setOp,
  818.         struct ISelectionSet * * resultSet ) = 0;
  819.     virtual HRESULT __stdcall Search (
  820.         struct IQueryFilter * pQueryFilter,
  821.         VARIANT_BOOL Recycling,
  822.         struct ICursor * * ppCursor ) = 0;
  823.     virtual HRESULT __stdcall Select (
  824.         struct IQueryFilter * QueryFilter,
  825.         enum esriSelectionType selType,
  826.         enum esriSelectionOption selOption,
  827.         struct IWorkspace * selectionContainer,
  828.         struct ISelectionSet * * ppSelectionSet ) = 0;
  829.     virtual HRESULT __stdcall Refresh ( ) = 0;
  830.     virtual HRESULT __stdcall get_IDs (
  831.         struct IEnumIDs * * pEnumIDs ) = 0;
  832.     virtual HRESULT __stdcall RemoveList (
  833.         long Count,
  834.         long * OIDList ) = 0;
  835. };
  836. enum esriSetOperation
  837. {
  838.     esriSetUnion = 1,
  839.     esriSetIntersection = 2,
  840.     esriSetDifference = 3,
  841.     esriSetSymDifference = 4
  842. };
  843. struct __declspec(uuid("7d84b001-1521-11d2-89ed-006097aff44e"))
  844. IEnumIDs : IUnknown
  845. {
  846.     //
  847.     // Raw methods provided by interface
  848.     //
  849.     virtual HRESULT __stdcall Next (
  850.         long * ID ) = 0;
  851.     virtual HRESULT __stdcall Reset ( ) = 0;
  852. };
  853. struct __declspec(uuid("1afcdb31-ac09-11d2-8a1e-006097aff44e"))
  854. IObjectClass : IClass
  855. {
  856.     //
  857.     // Raw methods provided by interface
  858.     //
  859.     virtual HRESULT __stdcall get_ObjectClassID (
  860.         long * ObjectClassID ) = 0;
  861.     virtual HRESULT __stdcall get_RelationshipClasses (
  862.         enum esriRelRole role,
  863.         struct IEnumRelationshipClass * * RelationshipClasses ) = 0;
  864.     virtual HRESULT __stdcall get_AliasName (
  865.         BSTR * Name ) = 0;
  866. };
  867. struct __declspec(uuid("d4803ee6-79f4-11d0-97fc-0080c7f79481"))
  868. IFeatureClass : IObjectClass
  869. {
  870.     //
  871.     // Raw methods provided by interface
  872.     //
  873.     virtual HRESULT __stdcall get_ShapeType (
  874.         enum esriGeometryType * Type ) = 0;
  875.     virtual HRESULT __stdcall get_FeatureType (
  876.         enum esriFeatureType * Type ) = 0;
  877.     virtual HRESULT __stdcall get_ShapeFieldName (
  878.         BSTR * Name ) = 0;
  879.     virtual HRESULT __stdcall get_AreaField (
  880.         struct IField * * Field ) = 0;
  881.     virtual HRESULT __stdcall get_LengthField (
  882.         struct IField * * Field ) = 0;
  883.     virtual HRESULT __stdcall get_FeatureDataset (
  884.         struct IFeatureDataset * * Dataset ) = 0;
  885.     virtual HRESULT __stdcall CreateFeature (
  886.         struct IFeature * * Feature ) = 0;
  887.     virtual HRESULT __stdcall GetFeature (
  888.         long ID,
  889.         struct IFeature * * Feature ) = 0;
  890.     virtual HRESULT __stdcall GetFeatures (
  891.         VARIANT fids,
  892.         VARIANT_BOOL Recycling,
  893.         struct IFeatureCursor * * Cursor ) = 0;
  894.     virtual HRESULT __stdcall get_FeatureClassID (
  895.         long * FID ) = 0;
  896.     virtual HRESULT __stdcall CreateFeatureBuffer (
  897.         struct IFeatureBuffer * * buffer ) = 0;
  898.     virtual HRESULT __stdcall FeatureCount (
  899.         struct IQueryFilter * QueryFilter,
  900.         long * numFeatures ) = 0;
  901.     virtual HRESULT __stdcall Search (
  902.         struct IQueryFilter * filter,
  903.         VARIANT_BOOL Recycling,
  904.         struct IFeatureCursor * * Cursor ) = 0;
  905.     virtual HRESULT __stdcall Update (
  906.         struct IQueryFilter * filter,
  907.         VARIANT_BOOL Recycling,
  908.         struct IFeatureCursor * * Cursor ) = 0;
  909.     virtual HRESULT __stdcall Insert (
  910.         VARIANT_BOOL useBuffering,
  911.         struct IFeatureCursor * * Cursor ) = 0;
  912.     virtual HRESULT __stdcall Select (
  913.         struct IQueryFilter * QueryFilter,
  914.         enum esriSelectionType selType,
  915.         enum esriSelectionOption selOption,
  916.         struct IWorkspace * selectionContainer,
  917.         struct ISelectionSet * * ppSelectionSet ) = 0;
  918. };
  919. enum esriRelRole
  920. {
  921.     esriRelRoleAny = 1,
  922.     esriRelRoleOrigin = 2,
  923.     esriRelRoleDestination = 3
  924. };
  925. struct __declspec(uuid("22b00697-8895-11d2-8a0d-006097aff44e"))
  926. IEnumRelationshipClass : IUnknown
  927. {
  928.     //
  929.     // Raw methods provided by interface
  930.     //
  931.     virtual HRESULT __stdcall Next (
  932.         struct IRelationshipClass * * FeatureClass ) = 0;
  933.     virtual HRESULT __stdcall Reset ( ) = 0;
  934. };
  935. struct __declspec(uuid("22b00693-8895-11d2-8a0d-006097aff44e"))
  936. IRelationshipClass : IUnknown
  937. {
  938.     //
  939.     // Raw methods provided by interface
  940.     //
  941.     virtual HRESULT __stdcall get_OriginPrimaryKey (
  942.         BSTR * relOrigPKey ) = 0;
  943.     virtual HRESULT __stdcall get_DestinationPrimaryKey (
  944.         BSTR * relDestPKey ) = 0;
  945.     virtual HRESULT __stdcall get_OriginForeignKey (
  946.         BSTR * relOrigFKey ) = 0;
  947.     virtual HRESULT __stdcall get_DestinationForeignKey (
  948.         BSTR * relDestFKey ) = 0;
  949.     virtual HRESULT __stdcall get_RelationshipClassID (
  950.         long * relClassId ) = 0;
  951.     virtual HRESULT __stdcall get_OriginClass (
  952.         struct IObjectClass * * OriginClass ) = 0;
  953.     virtual HRESULT __stdcall get_DestinationClass (
  954.         struct IObjectClass * * DestinationClass ) = 0;
  955.     virtual HRESULT __stdcall get_FeatureDataset (
  956.         struct IFeatureDataset * * FeatureDataset ) = 0;
  957.     virtual HRESULT __stdcall get_ForwardPathLabel (
  958.         BSTR * forwardLabel ) = 0;
  959.     virtual HRESULT __stdcall get_BackwardPathLabel (
  960.         BSTR * backwardLabel ) = 0;
  961.     virtual HRESULT __stdcall get_Cardinality (
  962.         enum esriRelCardinality * Cardinality ) = 0;
  963.     virtual HRESULT __stdcall get_Notification (
  964.         enum esriRelNotification * Notification ) = 0;
  965.     virtual HRESULT __stdcall get_IsAttributed (
  966.         VARIANT_BOOL * IsAttributed ) = 0;
  967.     virtual HRESULT __stdcall get_IsComposite (
  968.         VARIANT_BOOL * IsComposite ) = 0;
  969.     virtual HRESULT __stdcall CreateRelationship (
  970.         struct IObject * OriginObject,
  971.         struct IObject * DestinationObject,
  972.         struct IRelationship * * Relationship ) = 0;
  973.     virtual HRESULT __stdcall GetRelationship (
  974.         struct IObject * OriginObject,
  975.         struct IObject * DestinationObject,
  976.         struct IRelationship * * Relationship ) = 0;
  977.     virtual HRESULT __stdcall DeleteRelationship (
  978.         struct IObject * OriginObject,
  979.         struct IObject * DestinationObject ) = 0;
  980.     virtual HRESULT __stdcall GetObjectsRelatedToObject (
  981.         struct IObject * anObject,
  982.         struct ISet * * relatedObjects ) = 0;
  983.     virtual HRESULT __stdcall GetRelationshipsForObject (
  984.         struct IObject * anObject,
  985.         struct IEnumRelationship * * relationships ) = 0;
  986.     virtual HRESULT __stdcall DeleteRelationshipsForObject (
  987.         struct IObject * anObject ) = 0;
  988.     virtual HRESULT __stdcall GetObjectsRelatedToObjectSet (
  989.         struct ISet * anObjectSet,
  990.         struct ISet * * relatedObjectSet ) = 0;
  991.     virtual HRESULT __stdcall GetRelationshipsForObjectSet (
  992.         struct ISet * anObjectSet,
  993.         struct IEnumRelationship * * relationships ) = 0;
  994.     virtual HRESULT __stdcall GetObjectsMatchingObjectSet (
  995.         struct ISet * pSrcObjectSet,
  996.         struct IRelClassEnumRowPairs * * ppMatchedPairRows ) = 0;
  997.     virtual HRESULT __stdcall DeleteRelationshipsForObjectSet (
  998.         struct ISet * anObjectSet ) = 0;
  999.     virtual HRESULT __stdcall get_RelationshipRules (
  1000.         struct IEnumRule * * Rules ) = 0;
  1001.     virtual HRESULT __stdcall AddRelationshipRule (
  1002.         struct IRule * Rule ) = 0;
  1003.     virtual HRESULT __stdcall DeleteRelationshipRule (
  1004.         struct IRule * Rule ) = 0;
  1005. };
  1006. struct __declspec(uuid("d4803ee3-79f4-11d0-97fc-0080c7f79481"))
  1007. IFeatureDataset : IDataset
  1008. {
  1009.     //
  1010.     // Raw methods provided by interface
  1011.     //
  1012.     virtual HRESULT __stdcall CreateFeatureClass (
  1013.         BSTR Name,
  1014.         struct IFields * Fields,
  1015.         struct IUID * CLSID,
  1016.         struct IUID * EXTCLSID,
  1017.         enum esriFeatureType FeatureType,
  1018.         BSTR ShapeFieldName,
  1019.         BSTR ConfigKeyword,
  1020.         struct IFeatureClass * * ppFeatureClass ) = 0;
  1021. };
  1022. enum esriFeatureType
  1023. {
  1024.     esriFTSimple = 1,
  1025.     esriFTSimpleJunction = 7,
  1026.     esriFTSimpleEdge = 8,
  1027.     esriFTComplexJunction = 9,
  1028.     esriFTComplexEdge = 10,
  1029.     esriFTAnnotation = 11,
  1030.     esriFTCoverageAnnotation = 12,
  1031.     esriFTDimension = 13,
  1032.     esriFTRasterCatalogItem = 14
  1033. };
  1034. enum esriRelCardinality
  1035. {
  1036.     esriRelCardinalityOneToOne = 1,
  1037.     esriRelCardinalityOneToMany = 2,
  1038.     esriRelCardinalityManyToMany = 3
  1039. };
  1040. enum esriRelNotification
  1041. {
  1042.     esriRelNotificationNone = 1,
  1043.     esriRelNotificationForward = 2,
  1044.     esriRelNotificationBackward = 3,
  1045.     esriRelNotificationBoth = 4
  1046. };
  1047. struct __declspec(uuid("1afcdb34-ac09-11d2-8a1e-006097aff44e"))
  1048. IObject : IRow
  1049. {
  1050.     //
  1051.     // Raw methods provided by interface
  1052.     //
  1053.     virtual HRESULT __stdcall get_Class (
  1054.         struct IObjectClass * * Table ) = 0;
  1055. };
  1056. struct __declspec(uuid("22b00696-8895-11d2-8a0d-006097aff44e"))
  1057. IRelationship : IUnknown
  1058. {
  1059.     //
  1060.     // Raw methods provided by interface
  1061.     //
  1062.     virtual HRESULT __stdcall get_RelationshipClass (
  1063.         struct IRelationshipClass * * RelationshipClass ) = 0;
  1064.     virtual HRESULT __stdcall get_OriginObject (
  1065.         struct IObject * * OriginObject ) = 0;
  1066.     virtual HRESULT __stdcall get_DestinationObject (
  1067.         struct IObject * * DestinationObject ) = 0;
  1068. };
  1069. struct __declspec(uuid("22b00695-8895-11d2-8a0d-006097aff44e"))
  1070. IEnumRelationship : IUnknown
  1071. {
  1072.     //
  1073.     // Raw methods provided by interface
  1074.     //
  1075.     virtual HRESULT __stdcall Next (
  1076.         struct IRelationship * * Relationship ) = 0;
  1077.     virtual HRESULT __stdcall Reset ( ) = 0;
  1078. };
  1079. struct __declspec(uuid("a53a808e-13c4-11d3-a0de-0000f8775bf9"))
  1080. IRelClassEnumRowPairs : IUnknown
  1081. {
  1082.     //
  1083.     // Raw methods provided by interface
  1084.     //
  1085.     virtual HRESULT __stdcall Next (
  1086.         struct IRow * * ppSourceRow,
  1087.         struct IRow * * ppTargetRow ) = 0;
  1088.     virtual HRESULT __stdcall Reset ( ) = 0;
  1089. };
  1090. struct __declspec(uuid("76f9849e-84c3-11d2-ab61-000000000000"))
  1091. IEnumRule : IUnknown
  1092. {
  1093.     //
  1094.     // Raw methods provided by interface
  1095.     //
  1096.     virtual HRESULT __stdcall Next (
  1097.         struct IRule * * Rule ) = 0;
  1098.     virtual HRESULT __stdcall Reset ( ) = 0;
  1099. };
  1100. struct __declspec(uuid("236f4de4-4761-11d2-9932-0000f80372b4"))
  1101. IRule : IUnknown
  1102. {
  1103.     //
  1104.     // Raw methods provided by interface
  1105.     //
  1106.     virtual HRESULT __stdcall get_Category (
  1107.         long * groupBitmap ) = 0;
  1108.     virtual HRESULT __stdcall put_Category (
  1109.         long groupBitmap ) = 0;
  1110.     virtual HRESULT __stdcall get_Helpstring (
  1111.         BSTR * Helpstring ) = 0;
  1112.     virtual HRESULT __stdcall put_Helpstring (
  1113.         BSTR Helpstring ) = 0;
  1114.     virtual HRESULT __stdcall get_ID (
  1115.         long * ID ) = 0;
  1116.     virtual HRESULT __stdcall put_ID (
  1117.         long ID ) = 0;
  1118.     virtual HRESULT __stdcall get_Type (
  1119.         enum esriRuleType * Type ) = 0;
  1120. };
  1121. enum esriRuleType
  1122. {
  1123.     esriRTAttribute = 1,
  1124.     esriRTEdgeConnectivity = 2,
  1125.     esriRTJunctionConnectivity = 3,
  1126.     esriRTSpatial = 4,
  1127.     esriRTRelationship = 5,
  1128.     esriRTTopology = 6
  1129. };
  1130. struct __declspec(uuid("d4803ee9-79f4-11d0-97fc-0080c7f79481"))
  1131. IFeature : IObject
  1132. {
  1133.     //
  1134.     // Raw methods provided by interface
  1135.     //
  1136.     virtual HRESULT __stdcall get_ShapeCopy (
  1137.         struct IGeometry * * Shape ) = 0;
  1138.     virtual HRESULT __stdcall get_Shape (
  1139.         struct IGeometry * * Shape ) = 0;
  1140.     virtual HRESULT __stdcall putref_Shape (
  1141.         struct IGeometry * Shape ) = 0;
  1142.     virtual HRESULT __stdcall get_Extent (
  1143.         struct IEnvelope * * Extent ) = 0;
  1144.     virtual HRESULT __stdcall get_FeatureType (
  1145.         enum esriFeatureType * Type ) = 0;
  1146. };
  1147. struct __declspec(uuid("d4803ef8-79f4-11d0-97fc-0080c7f79481"))
  1148. IFeatureCursor : IUnknown
  1149. {
  1150.     //
  1151.     // Raw methods provided by interface
  1152.     //
  1153.     virtual HRESULT __stdcall FindField (
  1154.         BSTR Name,
  1155.         long * FieldIndex ) = 0;
  1156.     virtual HRESULT __stdcall get_Fields (
  1157.         struct IFields * * Fields ) = 0;
  1158.     virtual HRESULT __stdcall NextFeature (
  1159.         struct IFeature * * Object ) = 0;
  1160.     virtual HRESULT __stdcall UpdateFeature (
  1161.         struct IFeature * Object ) = 0;
  1162.     virtual HRESULT __stdcall DeleteFeature ( ) = 0;
  1163.     virtual HRESULT __stdcall InsertFeature (
  1164.         struct IFeatureBuffer * buffer,
  1165.         VARIANT * ID ) = 0;
  1166.     virtual HRESULT __stdcall Flush ( ) = 0;
  1167. };
  1168. struct __declspec(uuid("956a4e53-2482-11d1-89d8-006097aff44e"))
  1169. IFeatureBuffer : IRowBuffer
  1170. {
  1171.     //
  1172.     // Raw methods provided by interface
  1173.     //
  1174.     virtual HRESULT __stdcall get_Shape (
  1175.         struct IGeometry * * Shape ) = 0;
  1176.     virtual HRESULT __stdcall putref_Shape (
  1177.         struct IGeometry * Shape ) = 0;
  1178. };
  1179. struct __declspec(uuid("97103d51-3a9e-11d1-8816-0000f877762d"))
  1180. IQueryDef : IUnknown
  1181. {
  1182.     //
  1183.     // Raw methods provided by interface
  1184.     //
  1185.     virtual HRESULT __stdcall get_Tables (
  1186.         BSTR * Tables ) = 0;
  1187.     virtual HRESULT __stdcall put_Tables (
  1188.         BSTR Tables ) = 0;
  1189.     virtual HRESULT __stdcall get_SubFields (
  1190.         BSTR * SubFields ) = 0;
  1191.     virtual HRESULT __stdcall put_SubFields (
  1192.         BSTR SubFields ) = 0;
  1193.     virtual HRESULT __stdcall get_WhereClause (
  1194.         BSTR * WhereClause ) = 0;
  1195.     virtual HRESULT __stdcall put_WhereClause (
  1196.         BSTR WhereClause ) = 0;
  1197.     virtual HRESULT __stdcall Evaluate (
  1198.         struct ICursor * * Cursor ) = 0;
  1199. };
  1200. struct __declspec(uuid("ff866b9f-6f94-11d3-80e5-00c04f686238"))
  1201. IFeatureWorkspaceManage : IUnknown
  1202. {
  1203.     //
  1204.     // Raw methods provided by interface
  1205.     //
  1206.     virtual HRESULT __stdcall DeleteByName (
  1207.         struct IDatasetName * aName ) = 0;
  1208.     virtual HRESULT __stdcall IsRegisteredAsVersioned (
  1209.         struct IName * aName,
  1210.         VARIANT_BOOL * isRegistered ) = 0;
  1211.     virtual HRESULT __stdcall IsRegisteredAsObjectClass (
  1212.         BSTR Name,
  1213.         VARIANT_BOOL * isRegistered ) = 0;
  1214.     virtual HRESULT __stdcall CanDelete (
  1215.         struct IName * aName,
  1216.         VARIANT_BOOL * CanDelete ) = 0;
  1217.     virtual HRESULT __stdcall CanRename (
  1218.         struct IName * aName,
  1219.         VARIANT_BOOL * CanRename ) = 0;
  1220.     virtual HRESULT __stdcall AnalyzeTable (
  1221.         BSTR TableName,
  1222.         long tableComponents ) = 0;
  1223.     virtual HRESULT __stdcall AnalyzeIndex (
  1224.         BSTR TableName,
  1225.         BSTR Index ) = 0;
  1226.     virtual HRESULT __stdcall ValidateField (
  1227.         struct IField * pInField,
  1228.         struct IField * * ppOutField ) = 0;
  1229. };
  1230. struct __declspec(uuid("74996427-6627-11d3-80d3-00c04f686238"))
  1231. IFeatureWorkspaceSchemaEdit : IUnknown
  1232. {
  1233.     //
  1234.     // Raw methods provided by interface
  1235.     //
  1236.     virtual HRESULT __stdcall AlterInstanceCLSID (
  1237.         BSTR Name,
  1238.         struct IUID * InstanceCLSID ) = 0;
  1239.     virtual HRESULT __stdcall AlterClassExtensionCLSID (
  1240.         BSTR Name,
  1241.         struct IUID * ClassExtensionCLSID,
  1242.         struct IPropertySet * classExtensionProperties ) = 0;
  1243. };
  1244. struct __declspec(uuid("fe8f2fec-85ae-11d4-a0ca-00c04f6bdd84"))
  1245. IGeodatabaseRelease : IUnknown
  1246. {
  1247.     //
  1248.     // Raw methods provided by interface
  1249.     //
  1250.     virtual HRESULT __stdcall get_CanUpgrade (
  1251.         VARIANT_BOOL * CanUpgrade ) = 0;
  1252.     virtual HRESULT __stdcall get_CurrentRelease (
  1253.         VARIANT_BOOL * isCurrent ) = 0;
  1254.     virtual HRESULT __stdcall get_MajorVersion (
  1255.         long * versionNumber ) = 0;
  1256.     virtual HRESULT __stdcall get_MinorVersion (
  1257.         long * versionNumber ) = 0;
  1258.     virtual HRESULT __stdcall get_BugfixVersion (
  1259.         long * versionNumber ) = 0;
  1260.     virtual HRESULT __stdcall Upgrade ( ) = 0;
  1261. };
  1262. struct __declspec(uuid("d80957f0-8883-11d2-aabb-00c04fa37b82"))
  1263. IWorkspaceDomains : IUnknown
  1264. {
  1265.     //
  1266.     // Raw methods provided by interface
  1267.     //
  1268.     virtual HRESULT __stdcall AddDomain (
  1269.         struct IDomain * Domain,
  1270.         long * DomainID ) = 0;
  1271.     virtual HRESULT __stdcall get_CanDeleteDomain (
  1272.         BSTR DomainName,
  1273.         VARIANT_BOOL * deletable ) = 0;
  1274.     virtual HRESULT __stdcall DeleteDomain (
  1275.         BSTR DomainName ) = 0;
  1276.     virtual HRESULT __stdcall get_Domains (
  1277.         struct IEnumDomain * * Domains ) = 0;
  1278.     virtual HRESULT __stdcall get_DomainByName (
  1279.         BSTR DomainName,
  1280.         struct IDomain * * Domain ) = 0;
  1281.     virtual HRESULT __stdcall get_DomainsByFieldType (
  1282.         enum esriFieldType Type,
  1283.         struct IEnumDomain * * Domains ) = 0;
  1284. };
  1285. struct __declspec(uuid("8917197e-8884-11d2-aabb-00c04fa37b82"))
  1286. IEnumDomain : IUnknown
  1287. {
  1288.     //
  1289.     // Raw methods provided by interface
  1290.     //
  1291.     virtual HRESULT __stdcall Next (
  1292.         struct IDomain * * Domain ) = 0;
  1293.     virtual HRESULT __stdcall Reset ( ) = 0;
  1294. };
  1295. struct __declspec(uuid("56a5e6d4-01c6-11d4-a057-00c04f6bdd84"))
  1296. IWorkspaceDomains2 : IWorkspaceDomains
  1297. {
  1298.     //
  1299.     // Raw methods provided by interface
  1300.     //
  1301.     virtual HRESULT __stdcall AlterDomain (
  1302.         struct IDomain * Domain ) = 0;
  1303. };
  1304. struct __declspec(uuid("14eb5331-ca80-11d2-8a2f-006097aff44e"))
  1305. IFeatureWorkspaceAnno : IUnknown
  1306. {
  1307.     //
  1308.     // Raw methods provided by interface
  1309.     //
  1310.     virtual HRESULT __stdcall CreateAnnotationClass (
  1311.         BSTR Name,
  1312.         struct IFields * Fields,
  1313.         struct IUID * CLSID,
  1314.         struct IUID * EXTCLSID,
  1315.         BSTR ShapeFieldName,
  1316.         BSTR ConfigKeyword,
  1317.         struct IFeatureDataset * dstFeatureDataset,
  1318.         struct IFeatureClass * srcFeatureClass,
  1319.         IUnknown * annoProperties,
  1320.         IUnknown * referenceScale,
  1321.         IUnknown * symbolCollection,
  1322.         VARIANT_BOOL autoCreate,
  1323.         struct IFeatureClass * * fclass ) = 0;
  1324.     virtual HRESULT __stdcall AddSymbolCollection (
  1325.         BSTR Name,
  1326.         IUnknown * symbolCollection ) = 0;
  1327.     virtual HRESULT __stdcall ReplaceSymbolCollection (
  1328.         BSTR Name,
  1329.         IUnknown * symbolCollection ) = 0;
  1330. };
  1331. struct __declspec(uuid("c8778a65-0e27-4cb5-9a50-a7471b398ea7"))
  1332. IRasterWorkspaceEx : IUnknown
  1333. {
  1334.     //
  1335.     // Raw methods provided by interface
  1336.     //
  1337.     virtual HRESULT __stdcall CreateRasterDataset (
  1338.         BSTR Name,
  1339.         long numBands,
  1340.         enum rstPixelType PixelType,
  1341.         struct IRasterStorageDef * StorageDef,
  1342.         BSTR ConfigKeyword,
  1343.         struct IRasterDef * RasterDef,
  1344.         struct IGeometryDef * GeometryDef,
  1345.         struct IRasterDataset * * Dataset ) = 0;
  1346.     virtual HRESULT __stdcall SaveAsRasterDataset (
  1347.         BSTR Name,
  1348.         struct IRaster * Raster,
  1349.         struct IRasterStorageDef * StorageDef,
  1350.         BSTR ConfigKeyword,
  1351.         struct IRasterDef * RasterDef,
  1352.         struct IGeometryDef * GeometryDef,
  1353.         struct IRasterDataset * * Dataset ) = 0;
  1354.     virtual HRESULT __stdcall OpenRasterDataset (
  1355.         BSTR Name,
  1356.         struct IRasterDataset * * Dataset ) = 0;
  1357.     virtual HRESULT __stdcall DeleteRasterDataset (
  1358.         BSTR Name ) = 0;
  1359.     virtual HRESULT __stdcall RegisterAsRasterDataset (
  1360.         BSTR Name,
  1361.         struct IGeometryDef * GeometryDef ) = 0;
  1362.     virtual HRESULT __stdcall CreateRasterCatalog (
  1363.         BSTR Name,
  1364.         struct IFields * Fields,
  1365.         BSTR ShapeFieldName,
  1366.         BSTR RasterFieldName,
  1367.         BSTR ConfigKeyword,
  1368.         struct IRasterCatalog * * catalog ) = 0;
  1369.     virtual HRESULT __stdcall OpenRasterCatalog (
  1370.         BSTR Name,
  1371.         struct IRasterCatalog * * catalog ) = 0;
  1372.     virtual HRESULT __stdcall DeleteRasterCatalog (
  1373.         BSTR Name ) = 0;
  1374.     virtual HRESULT __stdcall RegisterAsRasterCatalog (
  1375.         BSTR Name,
  1376.         BSTR OIDFieldName,
  1377.         struct IGeometryDef * GeometryDef ) = 0;
  1378. };
  1379. enum rstPixelType
  1380. {
  1381.     PT_U1 = 0,
  1382.     PT_U2 = 1,
  1383.     PT_U4 = 2,
  1384.     PT_UCHAR = 3,
  1385.     PT_CHAR = 4,
  1386.     PT_USHORT = 5,
  1387.     PT_SHORT = 6,
  1388.     PT_ULONG = 7,
  1389.     PT_LONG = 8,
  1390.     PT_FLOAT = 9,
  1391.     PT_DOUBLE = 10,
  1392.     PT_COMPLEX = 11,
  1393.     PT_DCOMPLEX = 12
  1394. };
  1395. struct __declspec(uuid("30b9828a-85a6-4228-a7a4-7afb8a9842cc"))
  1396. IRasterStorageDef : IUnknown
  1397. {
  1398.     //
  1399.     // Raw methods provided by interface
  1400.     //
  1401.     virtual HRESULT __stdcall put_TileWidth (
  1402.         long Width ) = 0;
  1403.     virtual HRESULT __stdcall get_TileWidth (
  1404.         long * Width ) = 0;
  1405.     virtual HRESULT __stdcall put_TileHeight (
  1406.         long Height ) = 0;
  1407.     virtual HRESULT __stdcall get_TileHeight (
  1408.         long * Height ) = 0;
  1409.     virtual HRESULT __stdcall put_PyramidResampleType (
  1410.         enum rstResamplingTypes method ) = 0;
  1411.     virtual HRESULT __stdcall get_PyramidResampleType (
  1412.         enum rstResamplingTypes * method ) = 0;
  1413.     virtual HRESULT __stdcall put_PyramidLevel (
  1414.         long level ) = 0;
  1415.     virtual HRESULT __stdcall get_PyramidLevel (
  1416.         long * level ) = 0;
  1417.     virtual HRESULT __stdcall put_CompressionType (
  1418.         enum esriRasterSdeCompressionTypeEnum Type ) = 0;
  1419.     virtual HRESULT __stdcall get_CompressionType (
  1420.         enum esriRasterSdeCompressionTypeEnum * Type ) = 0;
  1421.     virtual HRESULT __stdcall put_CompressionQuality (
  1422.         long Value ) = 0;
  1423.     virtual HRESULT __stdcall get_CompressionQuality (
  1424.         long * Value ) = 0;
  1425.     virtual HRESULT __stdcall putref_Origin (
  1426.         struct IPoint * ppOrigin ) = 0;
  1427.     virtual HRESULT __stdcall get_Origin (
  1428.         struct IPoint * * ppOrigin ) = 0;
  1429.     virtual HRESULT __stdcall putref_CellSize (
  1430.         struct IPnt * ppCellSize ) = 0;
  1431.     virtual HRESULT __stdcall get_CellSize (
  1432.         struct IPnt * * ppCellSize ) = 0;
  1433. };
  1434. enum rstResamplingTypes
  1435. {
  1436.     RSP_NearestNeighbor = 0,
  1437.     RSP_BilinearInterpolation = 1,
  1438.     RSP_CubicConvolution = 2
  1439. };
  1440. enum esriRasterSdeCompressionTypeEnum
  1441. {
  1442.     esriRasterSdeCompressionTypeUncompressed = 0,
  1443.     esriRasterSdeCompressionTypeRunLength = 1,
  1444.     esriRasterSdeCompressionTypeJPEG = 2,
  1445.     esriRasterSdeCompressionTypeJPEG2000 = 3
  1446. };
  1447. struct __declspec(uuid("55614793-3490-11d3-a627-0008c7d3af56"))
  1448. IPnt : IUnknown
  1449. {
  1450.     //
  1451.     // Raw methods provided by interface
  1452.     //
  1453.     virtual HRESULT __stdcall get_X (
  1454.         double * pVal ) = 0;
  1455.     virtual HRESULT __stdcall put_X (
  1456.         double pVal ) = 0;
  1457.     virtual HRESULT __stdcall get_Y (
  1458.         double * pVal ) = 0;
  1459.     virtual HRESULT __stdcall put_Y (
  1460.         double pVal ) = 0;
  1461.     virtual HRESULT __stdcall SetCoords (
  1462.         double X,
  1463.         double Y ) = 0;
  1464.     virtual HRESULT __stdcall Set2Point (
  1465.         struct IPoint * env ) = 0;
  1466.     virtual HRESULT __stdcall Convert2Point (
  1467.         struct IPoint * env ) = 0;
  1468. };
  1469. struct __declspec(uuid("cdba994f-8f18-4abe-8a39-502bed07265e"))
  1470. IRasterDef : IUnknown
  1471. {
  1472.     //
  1473.     // Raw methods provided by interface
  1474.     //
  1475.     virtual HRESULT __stdcall put_Description (
  1476.         BSTR descrption ) = 0;
  1477.     virtual HRESULT __stdcall get_Description (
  1478.         BSTR * descrption ) = 0;
  1479.     virtual HRESULT __stdcall get_SpatialReference (
  1480.         struct ISpatialReference * * spref ) = 0;
  1481.     virtual HRESULT __stdcall putref_SpatialReference (
  1482.         struct ISpatialReference * spref ) = 0;
  1483.     virtual HRESULT __stdcall get_IsManaged (
  1484.         VARIANT_BOOL * IsManaged ) = 0;
  1485.     virtual HRESULT __stdcall put_IsManaged (
  1486.         VARIANT_BOOL IsManaged ) = 0;
  1487.     virtual HRESULT __stdcall get_IsRasterDataset (
  1488.         VARIANT_BOOL * IsRasterDataset ) = 0;
  1489.     virtual HRESULT __stdcall put_IsRasterDataset (
  1490.         VARIANT_BOOL IsRasterDataset ) = 0;
  1491. };
  1492. struct __declspec(uuid("7aca3d01-0629-11d2-8d24-0000f8780535"))
  1493. IRasterDataset : IUnknown
  1494. {
  1495.     //
  1496.     // Raw methods provided by interface
  1497.     //
  1498.     virtual HRESULT __stdcall get_Format (
  1499.         BSTR * Format ) = 0;
  1500.     virtual HRESULT __stdcall get_SensorType (
  1501.         BSTR * SensorType ) = 0;
  1502.     virtual HRESULT __stdcall get_CompressionType (
  1503.         BSTR * comp ) = 0;
  1504.     virtual HRESULT __stdcall CreateDefaultRaster (
  1505.         struct IRaster * * ras ) = 0;
  1506.     virtual HRESULT __stdcall CanCopy (
  1507.         VARIANT_BOOL * CanCopy ) = 0;
  1508.     virtual HRESULT __stdcall Copy (
  1509.         BSTR copyName,
  1510.         struct IWorkspace * copyWorkspace,
  1511.         struct IDataset * * copyDataset ) = 0;
  1512.     virtual HRESULT __stdcall OpenFromFile (
  1513.         BSTR Path ) = 0;
  1514.     virtual HRESULT __stdcall PrecalculateStats (
  1515.         VARIANT index_list ) = 0;
  1516.     virtual HRESULT __stdcall get_CompleteName (
  1517.         BSTR * CompleteName ) = 0;
  1518.     virtual HRESULT __stdcall BasicOpenFromFile (
  1519.         BSTR Path ) = 0;
  1520. };
  1521. struct __declspec(uuid("aeec7d31-1533-11d2-8d25-0000f8780535"))
  1522. IRaster : IUnknown
  1523. {
  1524.     //
  1525.     // Raw methods provided by interface
  1526.     //
  1527.     virtual HRESULT __stdcall Read (
  1528.         struct IPnt * tlc,
  1529.         struct IPixelBlock * block ) = 0;
  1530.     virtual HRESULT __stdcall CreatePixelBlock (
  1531.         struct IPnt * Size,
  1532.         struct IPixelBlock * * pxlblk ) = 0;
  1533.     virtual HRESULT __stdcall CreateCursor (
  1534.         struct IRasterCursor * * Cursor ) = 0;
  1535.     virtual HRESULT __stdcall get_ResampleMethod (
  1536.         enum rstResamplingTypes * pVal ) = 0;
  1537.     virtual HRESULT __stdcall put_ResampleMethod (
  1538.         enum rstResamplingTypes pVal ) = 0;
  1539. };
  1540. struct __declspec(uuid("169bafe0-40f6-11d2-9cfa-00a0249480f0"))
  1541. IPixelBlock : IUnknown
  1542. {
  1543.     //
  1544.     // Raw methods provided by interface
  1545.     //
  1546.     virtual HRESULT __stdcall get_Planes (
  1547.         long * pVal ) = 0;
  1548.     virtual HRESULT __stdcall get_Width (
  1549.         long * pVal ) = 0;
  1550.     virtual HRESULT __stdcall get_Height (
  1551.         long * pVal ) = 0;
  1552.     virtual HRESULT __stdcall get_PixelType (
  1553.         long plane,
  1554.         enum rstPixelType * pVal ) = 0;
  1555.     virtual HRESULT __stdcall put_PixelType (
  1556.         long plane,
  1557.         enum rstPixelType pVal ) = 0;
  1558.     virtual HRESULT __stdcall get_BytesPerPixel (
  1559.         long * pVal ) = 0;
  1560.     virtual HRESULT __stdcall get_SafeArray (
  1561.         long plane,
  1562.         VARIANT * pVal ) = 0;
  1563.     virtual HRESULT __stdcall put_SafeArray (
  1564.         long plane,
  1565.         VARIANT pVal ) = 0;
  1566.     virtual HRESULT __stdcall GetVal (
  1567.         long plane,
  1568.         long X,
  1569.         long Y,
  1570.         VARIANT * pVal ) = 0;
  1571. };
  1572. struct __declspec(uuid("3a625c22-a707-11d2-8e30-00a0249480f0"))
  1573. IRasterCursor : IUnknown
  1574. {
  1575.     //
  1576.     // Raw methods provided by interface
  1577.     //
  1578.     virtual HRESULT __stdcall get_TopLeft (
  1579.         struct IPnt * * pVal ) = 0;
  1580.     virtual HRESULT __stdcall get_PixelBlock (
  1581.         struct IPixelBlock * * pVal ) = 0;
  1582.     virtual HRESULT __stdcall Next (
  1583.         VARIANT_BOOL * not_finished ) = 0;
  1584.     virtual HRESULT __stdcall Reset ( ) = 0;
  1585. };
  1586. struct __declspec(uuid("ba56286b-9344-4e5c-8eee-119583764885"))
  1587. IRasterCatalog : IUnknown
  1588. {
  1589.     //
  1590.     // Raw methods provided by interface
  1591.     //
  1592.     virtual HRESULT __stdcall get_RasterFieldName (
  1593.         BSTR * Name ) = 0;
  1594.     virtual HRESULT __stdcall get_RasterFieldIndex (
  1595.         long * Index ) = 0;
  1596.     virtual HRESULT __stdcall get_NameFieldIndex (
  1597.         long * Index ) = 0;
  1598.     virtual HRESULT __stdcall get_RasterSpatialReference (
  1599.         struct ISpatialReference * * ppSpatialReference ) = 0;
  1600.     virtual HRESULT __stdcall get_CanAlterRasterSpatialReference (
  1601.         VARIANT_BOOL * canAlter ) = 0;
  1602.     virtual HRESULT __stdcall AlterRasterSpatialReference (
  1603.         struct ISpatialReference * pSpatialReference ) = 0;
  1604.     virtual HRESULT __stdcall get_IsRasterDataset (
  1605.         VARIANT_BOOL * IsRasterDataset ) = 0;
  1606. };
  1607. struct __declspec(uuid("d7463e40-9508-4b36-8728-29524d897fff"))
  1608. IWorkspaceReplicas : IUnknown
  1609. {
  1610.     //
  1611.     // Raw methods provided by interface
  1612.     //
  1613.     virtual HRESULT __stdcall get_Replicas (
  1614.         struct IEnumReplica * * enumReplica ) = 0;
  1615.     virtual HRESULT __stdcall get_ReplicaByName (
  1616.         BSTR replicaName,
  1617.         struct IReplica * * Replica ) = 0;
  1618.     virtual HRESULT __stdcall get_ReplicaByID (
  1619.         long ReplicaID,
  1620.         struct IReplica * * Replica ) = 0;
  1621.     virtual HRESULT __stdcall get_ReplicaByGuid (
  1622.         BSTR ReplicaGuid,
  1623.         struct IReplica * * Replica ) = 0;
  1624.     virtual HRESULT __stdcall RefreshReplicas ( ) = 0;
  1625. };
  1626. struct __declspec(uuid("13ca9c95-bee7-4c14-947c-f37f26a62d9c"))
  1627. IEnumReplica : IUnknown
  1628. {
  1629.     //
  1630.     // Raw methods provided by interface
  1631.     //
  1632.     virtual HRESULT __stdcall Next (
  1633.         struct IReplica * * Replica ) = 0;
  1634.     virtual HRESULT __stdcall Reset ( ) = 0;
  1635. };
  1636. struct __declspec(uuid("c475452c-72f3-4277-9fb7-fd8099665cec"))
  1637. IReplica : IUnknown
  1638. {
  1639.     //
  1640.     // Raw methods provided by interface
  1641.     //
  1642.     virtual HRESULT __stdcall get_ReplicaID (
  1643.         long * rID ) = 0;
  1644.     virtual HRESULT __stdcall get_Name (
  1645.         BSTR * replicaName ) = 0;
  1646.     virtual HRESULT __stdcall get_Owner (
  1647.         BSTR * replicaOwner ) = 0;
  1648.     virtual HRESULT __stdcall get_Version (
  1649.         BSTR * replicaVersion ) = 0;
  1650.     virtual HRESULT __stdcall get_ParentID (
  1651.         long * replicaParentID ) = 0;
  1652.     virtual HRESULT __stdcall get_ReplicaDate (
  1653.         double * rDate ) = 0;
  1654.     virtual HRESULT __stdcall get_ReplicaGuid (
  1655.         BSTR * rGUID ) = 0;
  1656.     virtual HRESULT __stdcall get_Description (
  1657.         struct IReplicaDescription * * ReplicaDescription ) = 0;
  1658.     virtual HRESULT __stdcall get_ConnectionInfo (
  1659.         struct IWorkspaceName * * replicaConnectionInfo ) = 0;
  1660.     virtual HRESULT __stdcall get_ReplicaRole (
  1661.         enum esriReplicaType * rRole ) = 0;
  1662.     virtual HRESULT __stdcall get_ReplicaDatasets (
  1663.         struct IEnumReplicaDataset * * enumReplicaDataset ) = 0;
  1664. };
  1665. struct __declspec(uuid("3afc1997-7a42-483b-9a6a-ecc00a3ba86a"))
  1666. IReplicaDescription : IUnknown
  1667. {
  1668.     //
  1669.     // Raw methods provided by interface
  1670.     //
  1671.     virtual HRESULT __stdcall Init (
  1672.         struct IEnumName * enumNames,
  1673.         struct IWorkspaceName * OutputWSName,
  1674.         VARIANT_BOOL ReuseSchema,
  1675.         enum esriDataExtractionType deType ) = 0;
  1676.     virtual HRESULT __stdcall get_DatasetNames (
  1677.         struct IEnumName * * enumNames ) = 0;
  1678.     virtual HRESULT __stdcall get_TableNameCount (
  1679.         long * Count ) = 0;
  1680.     virtual HRESULT __stdcall get_TableName (
  1681.         long Index,
  1682.         struct IName * * datasetName ) = 0;
  1683.     virtual HRESULT __stdcall put_TableExcluded (
  1684.         long Index,
  1685.         VARIANT_BOOL exclude ) = 0;
  1686.     virtual HRESULT __stdcall get_TableExcluded (
  1687.         long Index,
  1688.         VARIANT_BOOL * exclude ) = 0;
  1689.     virtual HRESULT __stdcall put_ReplicaModelType (
  1690.         enum esriReplicaModelType modelType ) = 0;
  1691.     virtual HRESULT __stdcall get_ReplicaModelType (
  1692.         enum esriReplicaModelType * modelType ) = 0;
  1693.     virtual HRESULT __stdcall FindTable (
  1694.         struct IName * datasetName,
  1695.         long * Index ) = 0;
  1696.     virtual HRESULT __stdcall AddDatasetNames (
  1697.         struct IEnumName * DatasetNames ) = 0;
  1698.     virtual HRESULT __stdcall put_IsPrivateTable (
  1699.         long Index,
  1700.         VARIANT_BOOL IsPrivate ) = 0;
  1701.     virtual HRESULT __stdcall get_IsPrivateTable (
  1702.         long Index,
  1703.         VARIANT_BOOL * IsPrivate ) = 0;
  1704. };
  1705. enum esriDataExtractionType
  1706. {
  1707.     esriDataExtraction = 1,
  1708.     esriDataCheckOut = 2,
  1709.     esriDataReplication = 3,
  1710.     esriDataXMLExport = 4
  1711. };
  1712. enum esriReplicaModelType
  1713. {
  1714.     esriModelTypeSimple = 1,
  1715.     esriModelTypeFullGeodatabase = 2
  1716. };
  1717. enum esriReplicaType
  1718. {
  1719.     esriReplicaTypeChild = 1,
  1720.     esriReplicaTypeParent = 2,
  1721.     esriCheckOutTypeChild = 4,
  1722.     esriCheckOutTypeParent = 8,
  1723.     esriReplicaTypeAny = 15
  1724. };
  1725. struct __declspec(uuid("8dcc9460-2f73-42f4-bc2a-50700b50fef4"))
  1726. IEnumReplicaDataset : IUnknown
  1727. {
  1728.     //
  1729.     // Raw methods provided by interface
  1730.     //
  1731.     virtual HRESULT __stdcall Next (
  1732.         struct IReplicaDataset * * ReplicaDataset ) = 0;
  1733.     virtual HRESULT __stdcall Reset ( ) = 0;
  1734. };
  1735. struct __declspec(uuid("4e087148-2c4f-452f-bff0-88c67d3efb15"))
  1736. IReplicaDataset : IUnknown
  1737. {
  1738.     //
  1739.     // Raw methods provided by interface
  1740.     //
  1741.     virtual HRESULT __stdcall get_Name (
  1742.         BSTR * rName ) = 0;
  1743.     virtual HRESULT __stdcall get_Type (
  1744.         enum esriDatasetType * DatasetType ) = 0;
  1745.     virtual HRESULT __stdcall get_DatasetID (
  1746.         long * DatasetID ) = 0;
  1747.     virtual HRESULT __stdcall get_ParentOwner (
  1748.         BSTR * dsParentOwner ) = 0;
  1749.     virtual HRESULT __stdcall get_ParentDatabase (
  1750.         BSTR * dsParentDatabase ) = 0;
  1751.     virtual HRESULT __stdcall get_ReplicaID (
  1752.         long * rID ) = 0;
  1753. };
  1754. struct __declspec(uuid("72ad4bea-a562-4c4a-a264-14fc6234b187"))
  1755. IWorkspaceReplicasAdmin : IUnknown
  1756. {
  1757.     //
  1758.     // Raw methods provided by interface
  1759.     //
  1760.     virtual HRESULT __stdcall AlterReplica (
  1761.         struct IReplica * Replica ) = 0;
  1762.     virtual HRESULT __stdcall RegisterReplica (
  1763.         struct IReplica * Replica,
  1764.         long * ReplicaID ) = 0;
  1765.     virtual HRESULT __stdcall UnregisterReplica (
  1766.         struct IReplica * Replica,
  1767.         VARIANT_BOOL removeCOVersion ) = 0;
  1768. };
  1769. struct __declspec(uuid("95f9e91d-885b-4f0e-9873-d66f5409ee41"))
  1770. IWorkspaceReplicaDatasets : IUnknown
  1771. {
  1772.     //
  1773.     // Raw methods provided by interface
  1774.     //
  1775.     virtual HRESULT __stdcall get_ReplicaDatasetsByName (
  1776.         BSTR replicaName,
  1777.         struct IEnumReplicaDataset * * enumReplicaDataset ) = 0;
  1778.     virtual HRESULT __stdcall get_ReplicaDatasetsByID (
  1779.         long ReplicaID,
  1780.         struct IEnumReplicaDataset * * enumReplicaDataset ) = 0;
  1781. };
  1782. struct __declspec(uuid("ea103f9f-8226-4d62-afd8-a9aead2a3be3"))
  1783. ITopologyWorkspace : IUnknown
  1784. {
  1785.     //
  1786.     // Raw methods provided by interface
  1787.     //
  1788.     virtual HRESULT __stdcall OpenTopology (
  1789.         BSTR Name,
  1790.         struct ITopology * * Topology ) = 0;
  1791. };
  1792. struct __declspec(uuid("c08348e2-5ac1-4d88-a2d0-b675317bb6cd"))
  1793. ITopology : IUnknown
  1794. {
  1795.     //
  1796.     // Raw methods provided by interface
  1797.     //
  1798.     virtual HRESULT __stdcall get_State (
  1799.         enum esriTopologyState * State ) = 0;
  1800.     virtual HRESULT __stdcall ValidateTopology (
  1801.         struct IEnvelope * areaToValidate,
  1802.         struct IEnvelope * * affectedArea ) = 0;
  1803.     virtual HRESULT __stdcall get_ClusterTolerance (
  1804.         double * tolerance ) = 0;
  1805.     virtual HRESULT __stdcall get_Cache (
  1806.         struct ITopologyGraph * * graph ) = 0;
  1807.     virtual HRESULT __stdcall get_FeatureDataset (
  1808.         struct IFeatureDataset * * Dataset ) = 0;
  1809.     virtual HRESULT __stdcall AddClass (
  1810.         struct IClass * classToAdd,
  1811.         double Weight,
  1812.         long XYRank,
  1813.         long ZRank,
  1814.         VARIANT_BOOL EventNotificationOnValidate ) = 0;
  1815.     virtual HRESULT __stdcall RemoveClass (
  1816.         struct IClass * classToRemove ) = 0;
  1817.     virtual HRESULT __stdcall get_MaximumGeneratedErrorCount (
  1818.         long * Count ) = 0;
  1819.     virtual HRESULT __stdcall get_TopologyID (
  1820.         long * ID ) = 0;
  1821.     virtual HRESULT __stdcall get_DirtyArea (
  1822.         struct IPolygon * location,
  1823.         struct IPolygon * * dirtyAreaPolygon ) = 0;
  1824. };
  1825. enum esriTopologyState
  1826. {
  1827.     esriTSUnanalyzed = 0,
  1828.     esriTSAnalyzedWithErrors = 1,
  1829.     esriTSAnalyzedWithoutErrors = 2,
  1830.     esriTSEmpty = 3
  1831. };
  1832. struct __declspec(uuid("4adc1017-3c78-434b-a32c-1817a42eb857"))
  1833. ITopologyGraph : IUnknown
  1834. {
  1835.     //
  1836.     // Raw methods provided by interface
  1837.     //
  1838.     virtual HRESULT __stdcall SetEmpty ( ) = 0;
  1839.     virtual HRESULT __stdcall SetSelectionEmpty (
  1840.         long whichType ) = 0;
  1841.     virtual HRESULT __stdcall Build (
  1842.         struct IEnvelope * Extent,
  1843.         VARIANT_BOOL preserveSelection ) = 0;
  1844.     virtual HRESULT __stdcall get_Extent (
  1845.         struct IEnvelope * * Extent ) = 0;
  1846.     virtual HRESULT __stdcall get_BuildExtent (
  1847.         struct IEnvelope * * Extent ) = 0;
  1848.     virtual HRESULT __stdcall HitTest (
  1849.         long whichElements,
  1850.         struct IPoint * queryPoint,
  1851.         double searchRadius,
  1852.         struct IPoint * hitPoint,
  1853.         double * hitDistance,
  1854.         struct ITopologyElement * * hitElement,
  1855.         VARIANT_BOOL * hit ) = 0;
  1856.     virtual HRESULT __stdcall EnumHitTest (
  1857.         long whichElements,
  1858.         struct IPoint * queryPoint,
  1859.         double searchRadius,
  1860.         struct IEnumTGHitInfo * * hitInfo,
  1861.         VARIANT_BOOL * hit ) = 0;
  1862.     virtual HRESULT __stdcall get_SelectionCount (
  1863.         long whichElements,
  1864.         long * Count ) = 0;
  1865.     virtual HRESULT __stdcall Select (
  1866.         enum esriTopologySelectionResultEnum selectHow,
  1867.         struct ITopologyElement * Element,
  1868.         VARIANT_BOOL * SelectionChanged ) = 0;
  1869.     virtual HRESULT __stdcall get_NodeSelection (
  1870.         struct IEnumTopologyNode * * nodeEnumerator ) = 0;
  1871.     virtual HRESULT __stdcall get_EdgeSelection (
  1872.         struct IEnumTopologyEdge * * edgeEnumerator ) = 0;
  1873.     virtual HRESULT __stdcall get_SelectionExtent (
  1874.         long whichElements,
  1875.         VARIANT_BOOL includeAdjacent,
  1876.         struct IEnvelope * * Extent ) = 0;
  1877.     virtual HRESULT __stdcall TransformSelection (
  1878.         enum esriTransformDirection direction,
  1879.         struct ITransformation * transformation,
  1880.         VARIANT_BOOL bProportionalStretch ) = 0;
  1881.     virtual HRESULT __stdcall Post (
  1882.         struct IEnvelope * * InvalidArea ) = 0;
  1883.     virtual HRESULT __stdcall get_IsPosting (
  1884.         VARIANT_BOOL * posting ) = 0;
  1885.     virtual HRESULT __stdcall ReshapeEdgeGeometry (
  1886.         struct ITopologyEdge * pEdge,
  1887.         struct IPath * reshapeGeometry,
  1888.         VARIANT_BOOL * reshaped ) = 0;
  1889.     virtual HRESULT __stdcall get_SelectionParents (
  1890.         struct IEnumTopologyParent * * enumParents ) = 0;
  1891.     virtual HRESULT __stdcall SetParentSelected (
  1892.         struct IFeatureClass * FeatureClass,
  1893.         long FID,
  1894.         VARIANT_BOOL selected,
  1895.         VARIANT_BOOL * edgeSelectionChanged ) = 0;
  1896.     virtual HRESULT __stdcall GetParentGeometry (
  1897.         struct IFeatureClass * FeatureClass,
  1898.         long FID,
  1899.         struct IGeometry * * theParentGeometry ) = 0;
  1900.     virtual HRESULT __stdcall GetSelectionFeedback (
  1901.         long whichElements,
  1902.         struct IPoint * pAnchor,
  1903.         VARIANT_BOOL proportionalStretch,
  1904.         struct IDisplayFeedback * * selFeedback ) = 0;
  1905.     virtual HRESULT __stdcall SplitMoveNode (
  1906.         struct ITopologyNode * nodeToSplit,
  1907.         struct IPoint * pMoveTo,
  1908.         VARIANT_BOOL proportionalStretch ) = 0;
  1909.     virtual HRESULT __stdcall GetSplitMoveNodeFeedback (
  1910.         struct ITopologyNode * nodeToSplit,
  1911.         VARIANT_BOOL proportionalStretch,
  1912.         struct ISpatialReference * outputSR,
  1913.         struct IDisplayFeedback * * feedback ) = 0;
  1914.     virtual HRESULT __stdcall SplitEdgeAtPoint (
  1915.         struct ITopologyEdge * pE,
  1916.         struct IPoint * pSplitPoint,
  1917.         double tolerance,
  1918.         struct ITopologyEdge * * ppFrom,
  1919.         struct ITopologyNode * * ppMid,
  1920.         struct ITopologyEdge * * ppTo ) = 0;
  1921.     virtual HRESULT __stdcall SplitEdgeAtDistance (
  1922.         struct ITopologyEdge * pE,
  1923.         double Distance,
  1924.         VARIANT_BOOL bAsRatio,
  1925.         double tolerance,
  1926.         struct ITopologyEdge * * ppFrom,
  1927.         struct ITopologyNode * * ppMid,
  1928.         struct ITopologyEdge * * ppTo ) = 0;
  1929.     virtual HRESULT __stdcall SetEdgeGeometry (
  1930.         struct ITopologyEdge * pE,
  1931.         struct IPath * pGeometry ) = 0;
  1932.     virtual HRESULT __stdcall DeletePseudoNodesFromSelection ( ) = 0;
  1933.     virtual HRESULT __stdcall DeleteEdge (
  1934.         struct ITopologyEdge * Edge ) = 0;
  1935.     virtual HRESULT __stdcall SelectByGeometry (
  1936.         long whichElements,
  1937.         enum esriTopologySelectionResultEnum selectHow,
  1938.         struct IGeometry * pGeometry ) = 0;
  1939.     virtual HRESULT __stdcall GetParentNodes (
  1940.         struct IFeatureClass * FeatureClass,
  1941.         long FID,
  1942.         struct IEnumTopologyNode * * enumNode ) = 0;
  1943.     virtual HRESULT __stdcall GetParentEdges (
  1944.         struct IFeatureClass * FeatureClass,
  1945.         long FID,
  1946.         struct IEnumTopologyEdge * * enumEdge ) = 0;
  1947.     virtual HRESULT __stdcall get_Edges (
  1948.         struct IEnumTopologyEdge * * edgeEnumerator ) = 0;
  1949.     virtual HRESULT __stdcall get_Nodes (
  1950.         struct IEnumTopologyNode * * nodeEnumerator ) = 0;
  1951.     virtual HRESULT __stdcall get_HasElement (
  1952.         struct ITopologyElement * Element,
  1953.         VARIANT_BOOL * bHasElement ) = 0;
  1954.     virtual HRESULT __stdcall HitTestSelection (
  1955.         long whichElements,
  1956.         struct IPoint * queryPoint,
  1957.         double searchRadius,
  1958.         struct IPoint * hitPoint,
  1959.         double * hitDistance,
  1960.         struct ITopologyElement * * hitElement,
  1961.         VARIANT_BOOL * hit ) = 0;
  1962. };
  1963. struct __declspec(uuid("9a876db1-4a30-11d5-9fe9-00c04f6bdd7f"))
  1964. ITopologyElement : IUnknown
  1965. {
  1966.     //
  1967.     // Raw methods provided by interface
  1968.     //
  1969.     virtual HRESULT __stdcall get_Geometry (
  1970.         struct IGeometry * * Geometry ) = 0;
  1971.     virtual HRESULT __stdcall get_IsSelected (
  1972.         VARIANT_BOOL * selected ) = 0;
  1973.     virtual HRESULT __stdcall QueryGeometry (
  1974.         struct IGeometry * Geometry ) = 0;
  1975.     virtual HRESULT __stdcall get_IsDeleted (
  1976.         VARIANT_BOOL * deleted ) = 0;
  1977.     virtual HRESULT __stdcall get_Parents (
  1978.         struct IEnumTopologyParent * * enumParents ) = 0;
  1979.     virtual HRESULT __stdcall get_Visited (
  1980.         VARIANT_BOOL * isVisited ) = 0;
  1981.     virtual HRESULT __stdcall put_Visited (
  1982.         VARIANT_BOOL isVisited ) = 0;
  1983. };
  1984. struct __declspec(uuid("efe9d2a4-1fb2-47f9-8af9-4831fad2db2d"))
  1985. IEnumTopologyParent : IUnknown
  1986. {
  1987.     //
  1988.     // Raw methods provided by interface
  1989.     //
  1990.     virtual HRESULT __stdcall Reset ( ) = 0;
  1991.     virtual HRESULT __stdcall Next (
  1992.         esriTopologyParent * parentInfo ) = 0;
  1993.     virtual HRESULT __stdcall get_Count (
  1994.         long * parentCount ) = 0;
  1995. };
  1996. struct tagesriTopologyParent
  1997. {
  1998.     struct IFeatureClass * m_pFC;
  1999.     long m_FID;
  2000.     VARIANT_BOOL m_bSelected;
  2001.     long m_AttributeAwareness;
  2002. };
  2003. struct __declspec(uuid("ba303a42-6aff-42f8-b457-85a689b051ca"))
  2004. IEnumTGHitInfo : IUnknown
  2005. {
  2006.     //
  2007.     // Raw methods provided by interface
  2008.     //
  2009.     virtual HRESULT __stdcall Reset ( ) = 0;
  2010.     virtual HRESULT __stdcall get_Count (
  2011.         long * cHitElements ) = 0;
  2012.     virtual HRESULT __stdcall Next (
  2013.         struct ITopologyElement * * hitElement,
  2014.         struct IPoint * * hitPoint,
  2015.         double * hitDistance ) = 0;
  2016. };
  2017. enum esriTopologySelectionResultEnum
  2018. {
  2019.     esriTopologySelectionResultNew = 0,
  2020.     esriTopologySelectionResultAdd = 1,
  2021.     esriTopologySelectionResultSubtract = 2,
  2022.     esriTopologySelectionResultXOR = 3
  2023. };
  2024. struct __declspec(uuid("0fcbd3ed-d810-40d3-92b1-1a7b451f0f4c"))
  2025. IEnumTopologyNode : IUnknown
  2026. {
  2027.     //
  2028.     // Raw methods provided by interface
  2029.     //
  2030.     virtual HRESULT __stdcall Reset ( ) = 0;
  2031.     virtual HRESULT __stdcall Next (
  2032.         struct ITopologyNode * * Node ) = 0;
  2033.     virtual HRESULT __stdcall get_Count (
  2034.         long * Count ) = 0;
  2035. };
  2036. struct __declspec(uuid("d04b7154-4989-11d5-9fe9-00c04f6bdd7f"))
  2037. ITopologyNode : ITopologyElement
  2038. {
  2039.     //
  2040.     // Raw methods provided by interface
  2041.     //
  2042.     virtual HRESULT __stdcall get_Edges (
  2043.         VARIANT_BOOL clockwise,
  2044.         struct IEnumNodeEdge * * Edges ) = 0;
  2045.     virtual HRESULT __stdcall get_Degree (
  2046.         long * Degree ) = 0;
  2047.     virtual HRESULT __stdcall get_IsDegreeKnown (
  2048.         VARIANT_BOOL * degreeKnown ) = 0;
  2049. };
  2050. struct __declspec(uuid("5cee64be-56dc-11d5-9fee-00c04f6bdd7f"))
  2051. IEnumNodeEdge : IUnknown
  2052. {
  2053.     //
  2054.     // Raw methods provided by interface
  2055.     //
  2056.     virtual HRESULT __stdcall Reset ( ) = 0;
  2057.     virtual HRESULT __stdcall Next (
  2058.         struct ITopologyEdge * * nextEdge,
  2059.         VARIANT_BOOL * atFrom ) = 0;
  2060.     virtual HRESULT __stdcall get_Count (
  2061.         long * EdgeCount ) = 0;
  2062.     virtual HRESULT __stdcall get_IsClockwise (
  2063.         VARIANT_BOOL * clockwise ) = 0;
  2064. };
  2065. struct __declspec(uuid("d04b7152-4989-11d5-9fe9-00c04f6bdd7f"))
  2066. ITopologyEdge : ITopologyElement
  2067. {
  2068.     //
  2069.     // Raw methods provided by interface
  2070.     //
  2071.     virtual HRESULT __stdcall get_FromNode (
  2072.         struct ITopologyNode * * FromNode ) = 0;
  2073.     virtual HRESULT __stdcall get_ToNode (
  2074.         struct ITopologyNode * * ToNode ) = 0;
  2075.     virtual HRESULT __stdcall get_LeftParents (
  2076.         VARIANT_BOOL boundedByEdge,
  2077.         struct IEnumTopologyParent * * left ) = 0;
  2078.     virtual HRESULT __stdcall get_RightParents (
  2079.         VARIANT_BOOL boundedByEdge,
  2080.         struct IEnumTopologyParent * * right ) = 0;
  2081.     virtual HRESULT __stdcall get_LeftVisited (
  2082.         VARIANT_BOOL * isLeftVisited ) = 0;
  2083.     virtual HRESULT __stdcall put_LeftVisited (
  2084.         VARIANT_BOOL isLeftVisited ) = 0;
  2085.     virtual HRESULT __stdcall get_RightVisited (
  2086.         VARIANT_BOOL * isRightVisited ) = 0;
  2087.     virtual HRESULT __stdcall put_RightVisited (
  2088.         VARIANT_BOOL isRightVisited ) = 0;
  2089. };
  2090. struct __declspec(uuid("9a876db0-4a30-11d5-9fe9-00c04f6bdd7f"))
  2091. IEnumTopologyEdge : IUnknown
  2092. {
  2093.     //
  2094.     // Raw methods provided by interface
  2095.     //
  2096.     virtual HRESULT __stdcall Reset ( ) = 0;
  2097.     virtual HRESULT __stdcall Next (
  2098.         struct ITopologyEdge * * nextEdge ) = 0;
  2099.     virtual HRESULT __stdcall get_Count (
  2100.         long * EdgeCount ) = 0;
  2101. };
  2102. struct __declspec(uuid("fbf5715c-a05d-11d4-a64c-0008c711c8c1"))
  2103. WorkspaceExtension;
  2104.     // [ default ] interface IUnknown
  2105.     // interface IWorkspaceExtension
  2106.     // interface IWorkspaceExtensionControl
  2107. struct __declspec(uuid("fbf5715d-a05d-11d4-a64c-0008c711c8c1"))
  2108. WorkspaceFactory;
  2109.     // [ default ] interface IUnknown
  2110.     // interface IWorkspaceFactory
  2111.     // interface IWorkspaceFactory2
  2112. struct __declspec(uuid("fbf57161-a05d-11d4-a64c-0008c711c8c1"))
  2113. ConfigurationKeyword;
  2114.     // [ default ] interface IUnknown
  2115.     // interface IConfigurationKeyword
  2116. struct __declspec(uuid("fbf57162-a05d-11d4-a64c-0008c711c8c1"))
  2117. ConfigurationParameter;
  2118.     // [ default ] interface IUnknown
  2119.     // interface IConfigurationParameter
  2120. struct __declspec(uuid("23a7329a-ab83-11d4-a64c-0008c711c8c1"))
  2121. VersionedWorkspace;
  2122.     // [ default ] interface IUnknown
  2123.     // interface IVersionedWorkspace
  2124.     // interface IVersion
  2125.     // interface IVersionEdit
  2126.     // interface IVersionEdit2
  2127.     // interface IVersionEdit3
  2128.     // interface IWorkspace
  2129.     // interface IFeatureWorkspace
  2130.     // interface IDataset
  2131.     // interface IDatasetContainer
  2132.     // interface IWorkspaceEdit
  2133.     // interface IFeatureWorkspaceManage
  2134.     // interface IFeatureWorkspaceSchemaEdit
  2135.     // interface IGeodatabaseRelease
  2136.     // interface ITransactions
  2137.     // interface ITransactionsOptions
  2138.     // interface IWorkspaceDomains
  2139.     // interface IWorkspaceDomains2
  2140.     // interface ISpatialCacheManager
  2141.     // interface ISpatialCacheManager2
  2142.     // interface IFeatureWorkspaceAnno
  2143.     // interface IDatabaseCompact
  2144.     // interface ISQLSyntax
  2145.     // interface IWorkspaceProperties
  2146.     // interface IWorkspaceConfiguration
  2147.     // interface IWorkspaceExtensionManager
  2148.     // interface IWorkspaceSpatialReferenceInfo
  2149.     // interface IDatabaseConnectionInfo
  2150.     // [ default, source ] interface IWorkspaceEvents
  2151. struct __declspec(uuid("2393b65d-74d4-11d2-aad9-00c04fa37585"))
  2152. IVersionEdit : IUnknown
  2153. {
  2154.     //
  2155.     // Raw methods provided by interface
  2156.     //
  2157.     virtual HRESULT __stdcall get_ModifiedClasses (
  2158.         struct IEnumBSTR * * classNames ) = 0;
  2159.     virtual HRESULT __stdcall get_ConflictClasses (
  2160.         struct IEnumConflictClass * * ppConflictClasses ) = 0;
  2161.     virtual HRESULT __stdcall get_ReconcileVersion (
  2162.         struct IVersion * * conflictVersion ) = 0;
  2163.     virtual HRESULT __stdcall get_StartEditingVersion (
  2164.         struct IVersion * * StartEditingVersion ) = 0;
  2165.     virtual HRESULT __stdcall get_PreReconcileVersion (
  2166.         struct IVersion * * PreReconcileVersion ) = 0;
  2167.     virtual HRESULT __stdcall get_CommonAncestorVersion (
  2168.         struct IVersion * * ancestorVersion ) = 0;
  2169.     virtual HRESULT __stdcall Reconcile (
  2170.         BSTR VersionName,
  2171.         VARIANT_BOOL * foundConflicts ) = 0;
  2172.     virtual HRESULT __stdcall CanPost (
  2173.         VARIANT_BOOL * CanPost ) = 0;
  2174.     virtual HRESULT __stdcall Post (
  2175.         BSTR VersionName ) = 0;
  2176. };
  2177. struct __declspec(uuid("2ba511e1-8a2f-11d2-aae3-00c04fa37585"))
  2178. IEnumConflictClass : IUnknown
  2179. {
  2180.     //
  2181.     // Raw methods provided by interface
  2182.     //
  2183.     virtual HRESULT __stdcall Next (
  2184.         struct IConflictClass * * conflictClass ) = 0;
  2185.     virtual HRESULT __stdcall Reset ( ) = 0;
  2186. };
  2187. struct __declspec(uuid("ab22306b-8a2f-11d2-aae3-00c04fa37585"))
  2188. IConflictClass : IUnknown
  2189. {
  2190.     //
  2191.     // Raw methods provided by interface
  2192.     //
  2193.     virtual HRESULT __stdcall get_HasConflicts (
  2194.         VARIANT_BOOL * HasConflicts ) = 0;
  2195.     virtual HRESULT __stdcall get_UpdateDeletes (
  2196.         struct ISelectionSet * * updateDeleteSet ) = 0;
  2197.     virtual HRESULT __stdcall get_DeleteUpdates (
  2198.         struct ISelectionSet * * deleteUpdateSet ) = 0;
  2199.     virtual HRESULT __stdcall get_UpdateUpdates (
  2200.         struct ISelectionSet * * updateUpdateSet ) = 0;
  2201.     virtual HRESULT __stdcall RestoreRow (
  2202.         long rowID,
  2203.         struct IRow * * Row ) = 0;
  2204. };
  2205. struct __declspec(uuid("650b3674-3aea-44d5-8441-794cf3c36a27"))
  2206. IVersionEdit2 : IVersionEdit
  2207. {
  2208.     //
  2209.     // Raw methods provided by interface
  2210.     //
  2211.     virtual HRESULT __stdcall Reconcile2 (
  2212.         BSTR VersionName,
  2213.         VARIANT_BOOL acquireLock,
  2214.         VARIANT_BOOL * foundConflicts ) = 0;
  2215. };
  2216. struct __declspec(uuid("69d4c025-1a2c-4cca-b901-20eb2093ab6b"))
  2217. IVersionEdit3 : IVersionEdit2
  2218. {
  2219.     //
  2220.     // Raw methods provided by interface
  2221.     //
  2222.     virtual HRESULT __stdcall Reconcile3 (
  2223.         BSTR VersionName,
  2224.         VARIANT_BOOL acquireLock,
  2225.         VARIANT_BOOL abortIfConflicts,
  2226.         VARIANT_BOOL * foundConflicts ) = 0;
  2227. };
  2228. struct __declspec(uuid("23a7329f-ab83-11d4-a64c-0008c711c8c1"))
  2229. EnumVersionInfo;
  2230.     // [ default ] interface IUnknown
  2231.     // interface IEnumVersionInfo
  2232. struct __declspec(uuid("23a7329c-ab83-11d4-a64c-0008c711c8c1"))
  2233. VersionInfo;
  2234.     // [ default ] interface IUnknown
  2235.     // interface IVersionInfo
  2236. enum esriNetworkErrors
  2237. {
  2238.     NETWORK_E_INVALID_FEATURE_WORKSPACE = -2147220991,
  2239.     NETWORK_E_INVALID_WORKSPACE = -2147220990,
  2240.     NETWORK_E_INVALID_FEATURE_DATASET = -2147220989,
  2241.     NETWORK_E_INVALID_FEATURE_CLASS = -2147220988,
  2242.     NETWORK_E_INVALID_FEATURE_CLASS_COUNT = -2147220987,
  2243.     NETWORK_E_INVALID_JUNCTION_FEATURE_CLASS_NAME = -2147220986,
  2244.     NETWORK_E_INVALID_NETWORK_NAME = -2147220975,
  2245.     NETWORK_E_INVALID_DIRECTORY_NAME = -2147220974,
  2246.     NETWORK_E_INVALID_NETWORK_WORKSPACE = -2147220973,
  2247.     NETWORK_E_UNKNOWN_NETWORK_TYPE = -2147220972,
  2248.     NETWORK_E_CANNOT_OPEN_TABLES = -2147220971,
  2249.     NETWORK_E_CANNOT_CREATE_TABLES = -2147220970,
  2250.     NETWORK_E_INVALID_ELEMENT_CLASSES = -2147220969,
  2251.     NETWORK_E_INVALID_WEIGHT_DEFINITIONS = -2147220968,
  2252.     NETWORK_E_INVALID_WEIGHT_ASSOCIATION = -2147220967,
  2253.     NETWORK_E_INVALID_NETWORK_ACCESS = -2147220966,
  2254.     NETWORK_E_INVALID_FORMAT_NUMBER = -2147220965,
  2255.     NETWORK_E_UNKNOWN_ERROR = -2147220961,
  2256.     NETWORK_E_INVALID_ENGINE_CONNECTION = -2147220959,
  2257.     NETWORK_E_INVALID_ENGINE = -2147220958,
  2258.     NETWORK_E_INVALID_ENGINE_VIEW = -2147220957,
  2259.     NETWORK_E_INVALID_ENGINE_FSTAR = -2147220956,
  2260.     NETWORK_E_INVALID_ENGINE_BSTAR = -2147220955,
  2261.     NETWORK_E_UNKNOWN_ENGINE_ERROR = -2147220954,
  2262.     NETWORK_E_INVALID_NETWORK = -2147220943,
  2263.     NETWORK_E_INCOMPLETE_NETWORK = -2147220942,
  2264.     NETWORK_E_NETWORK_ALREADY_EXISTS = -2147220941,
  2265.     NETWORK_E_INVALID_USER_CLASS_ID = -2147220940,
  2266.     NETWORK_E_INVALID_ELEMENT_CLASS_NAME = -2147220939,
  2267.     NETWORK_E_INVALID_WEIGHT_NAME = -2147220938,
  2268.     NETWORK_E_READ_ONLY_NETWORK = -2147220937,
  2269.     NETWORK_E_EDIT_SESSION_IN_PROGRESS = -2147220936,
  2270.     NETWORK_E_UPDATE_SESSION_IN_PROGRESS = -2147220935,
  2271.     NETWORK_E_NO_EDIT_SESSION_IN_PROGRESS = -2147220934,
  2272.     NETWORK_E_NO_UPDATE_SESSION_IN_PROGRESS = -2147220933,
  2273.     NETWORK_E_DOES_NOT_SUPPORT_EDITING = -2147220932,
  2274.     NETWORK_E_PROPERTY_IS_ALREADY_SET = -2147220931,
  2275.     NETWORK_E_INVALID_ELEMENT_TYPE = -2147220930,
  2276.     NETWORK_E_INVALID_WEIGHT_TYPE = -2147220929,
  2277.     NETWORK_E_INVALID_ELEMENT_ID = -2147220928,
  2278.     NETWORK_E_INVALID_USER_ID = -2147220927,
  2279.     NETWORK_E_INVALID_USER_SUB_ID = -2147220926,
  2280.     NETWORK_E_OVERFLOW_USER_CLASS_ID = -2147220925,
  2281.     NETWORK_E_OVERFLOW_USER_ID = -2147220924,
  2282.     NETWORK_E_OVERFLOW_USER_SUB_ID = -2147220923,
  2283.     NETWORK_E_OVERFLOW_ELEMENT_ID = -2147220922,
  2284.     NETWORK_E_INVALID_WEIGHT_ID = -2147220921,
  2285.     NETWORK_E_COPY_OVERFLOW_USER_CLASS_ID = -2147220920,
  2286.     NETWORK_E_INVALID_WEIGHT_VALUE = -2147220919,
  2287.     NETWORK_E_NO_EDIT_OPERATION_IN_PROGRESS = -2147220918,
  2288.     NETWORK_E_EDIT_OPERATION_IN_PROGRESS = -2147220917,
  2289.     NETWORK_E_LOOP_EDGE_CHAIN = -2147220916
  2290. };
  2291. struct __declspec(uuid("4700c2e0-2e11-11d1-b24e-0000f878229e"))
  2292. INetworkWorkspace : IUnknown
  2293. {
  2294.     //
  2295.     // Raw methods provided by interface
  2296.     //
  2297.     virtual HRESULT __stdcall CreateNetwork (
  2298.         BSTR networkName,
  2299.         enum esriNetworkType NetworkType,
  2300.         VARIANT_BOOL buildNormalizedTables,
  2301.         struct INetwork * * Network ) = 0;
  2302.     virtual HRESULT __stdcall OpenNetwork (
  2303.         BSTR networkName,
  2304.         enum esriNetworkType NetworkType,
  2305.         enum esriNetworkAccess networkAccess,
  2306.         struct INetwork * * Network ) = 0;
  2307.     virtual HRESULT __stdcall GetNetworkNames (
  2308.         struct IEnumBSTR * * networkNames ) = 0;
  2309. };
  2310. enum esriNetworkType
  2311. {
  2312.     esriNTStreetNetwork = 0,
  2313.     esriNTUtilityNetwork = 1
  2314. };
  2315. struct __declspec(uuid("19f99c80-a089-11d0-9cc9-00805f74d243"))
  2316. INetwork : IUnknown
  2317. {
  2318.     //
  2319.     // Raw methods provided by interface
  2320.     //
  2321.     virtual HRESULT __stdcall get_Status (
  2322.         enum esriNetworkStatus * networkStatus ) = 0;
  2323.     virtual HRESULT __stdcall get_JunctionCount (
  2324.         long * JunctionCount ) = 0;
  2325.     virtual HRESULT __stdcall get_EdgeCount (
  2326.         long * EdgeCount ) = 0;
  2327.     virtual HRESULT __stdcall get_TurnCount (
  2328.         long * TurnCount ) = 0;
  2329.     virtual HRESULT __stdcall get_MaxDegree (
  2330.         long * MaxDegree ) = 0;
  2331.     virtual HRESULT __stdcall get_MaxTurn (
  2332.         long * MaxTurn ) = 0;
  2333.     virtual HRESULT __stdcall CreateForwardStar (
  2334.         VARIANT_BOOL honorState,
  2335.         struct INetWeight * pJunctionWeight,
  2336.         struct INetWeight * pFromToEdgeWeight,
  2337.         struct INetWeight * pToFromEdgeWeight,
  2338.         struct INetWeight * turnWeight,
  2339.         struct IForwardStar * * ForwardStar ) = 0;
  2340.     virtual HRESULT __stdcall CreateNetBrowser (
  2341.         enum esriElementType ElementType,
  2342.         struct IEnumNetEID * * netBrowser ) = 0;
  2343. };
  2344. enum esriNetworkStatus
  2345. {
  2346.     esriNSInvalidConnection = 0,
  2347.     esriNSNetworkAlreadyExist = 1,
  2348.     esriNSReadOnlyNetwork = 2,
  2349.     esriNSCannotOpenTables = 3,
  2350.     esriNSCannotCreateTables = 4,
  2351.     esriNSInvalidElementClasses = 5,
  2352.     esriNSInvalidWeights = 6,
  2353.     esriNSUnknownStatus = 7,
  2354.     esriNSValidNetwork = 8,
  2355.     esriNSInvalidName = 9
  2356. };
  2357. struct __declspec(uuid("027e7415-981b-11d1-b264-0000f878229e"))
  2358. INetWeight : IUnknown
  2359. {
  2360.     //
  2361.     // Raw methods provided by interface
  2362.     //
  2363.     virtual HRESULT __stdcall get_WeightName (
  2364.         BSTR * WeightName ) = 0;
  2365.     virtual HRESULT __stdcall get_WeightType (
  2366.         enum esriWeightType * WeightType ) = 0;
  2367.     virtual HRESULT __stdcall get_BitGateSize (
  2368.         long * bigGateSize ) = 0;
  2369.     virtual HRESULT __stdcall get_WeightID (
  2370.         long * internalID ) = 0;
  2371. };
  2372. enum esriWeightType
  2373. {
  2374.     esriWTNull = 0,
  2375.     esriWTBitGate = 1,
  2376.     esriWTInteger = 2,
  2377.     esriWTSingle = 3,
  2378.     esriWTDouble = 4
  2379. };
  2380. struct __declspec(uuid("19f99c81-a089-11d0-9cc9-00805f74d243"))
  2381. IForwardStar : IUnknown
  2382. {
  2383.     //
  2384.     // Raw methods provided by interface
  2385.     //
  2386.     virtual HRESULT __stdcall get_Network (
  2387.         struct INetwork * * Network ) = 0;
  2388.     virtual HRESULT __stdcall FindAdjacent (
  2389.         long fromEdgeEID,
  2390.         long atJunctionEID,
  2391.         long * adjacentEdgesCount ) = 0;
  2392.     virtual HRESULT __stdcall QueryAdjacentJunction (
  2393.         long Index,
  2394.         long * adjacentJunctionEID,
  2395.         VARIANT * adjacentJunctionWeightValue ) = 0;
  2396.     virtual HRESULT __stdcall QueryAdjacentEdge (
  2397.         long Index,
  2398.         long * adjacentEdgeEID,
  2399.         VARIANT_BOOL * reverseOrientation,
  2400.         VARIANT * adjacentEdgeWeightValue ) = 0;
  2401.     virtual HRESULT __stdcall QueryAtTurn (
  2402.         long Index,
  2403.         long * adjacentTurnEID,
  2404.         VARIANT * adjacentTurnWeightValue ) = 0;
  2405.     virtual HRESULT __stdcall QueryAdjacentJunctions (
  2406.         long Count,
  2407.         long * adjacentJunctionEIDs,
  2408.         VARIANT * adjacentJunctionsWeightValue ) = 0;
  2409.     virtual HRESULT __stdcall QueryAdjacentEdges (
  2410.         long Count,
  2411.         long * adjacentEdgeEIDs,
  2412.         VARIANT_BOOL * reverseOrientation,
  2413.         VARIANT * adjacentEdgesWeightValue ) = 0;
  2414.     virtual HRESULT __stdcall QueryAtTurns (
  2415.         long Count,
  2416.         long * adjacentTurnEIDs,
  2417.         VARIANT * adjacentTurnsWeightValue ) = 0;
  2418. };
  2419. enum esriElementType
  2420. {
  2421.     esriETNone = 0,
  2422.     esriETJunction = 1,
  2423.     esriETEdge = 2,
  2424.     esriETTurn = 3
  2425. };
  2426. struct __declspec(uuid("5db91db4-afb4-11d0-9ccd-00805f74d243"))
  2427. IEnumNetEID : IUnknown
  2428. {
  2429.     //
  2430.     // Raw methods provided by interface
  2431.     //
  2432.     virtual HRESULT __stdcall get_Network (
  2433.         struct INetwork * * Network ) = 0;
  2434.     virtual HRESULT __stdcall get_Count (
  2435.         long * Count ) = 0;
  2436.     virtual HRESULT __stdcall get_ElementType (
  2437.         enum esriElementType * ElementType ) = 0;
  2438.     virtual HRESULT __stdcall Reset ( ) = 0;
  2439.     virtual HRESULT __stdcall Next (
  2440.         long * EID ) = 0;
  2441.     virtual HRESULT __stdcall Last (
  2442.         long * EID ) = 0;
  2443.     virtual HRESULT __stdcall Prev (
  2444.         long * EID ) = 0;
  2445. };
  2446. enum esriNetworkAccess
  2447. {
  2448.     esriNAReadOnly = 0,
  2449.     esriNAReadWrite = 1,
  2450.     esriNACreate = 2
  2451. };
  2452. struct __declspec(uuid("19f99c8b-a089-11d0-9cc9-00805f74d243"))
  2453. IStreetNetwork : INetwork
  2454. {};
  2455. struct __declspec(uuid("19f99c84-a089-11d0-9cc9-00805f74d243"))
  2456. IUtilityNetwork : INetwork
  2457. {
  2458.     //
  2459.     // Raw methods provided by interface
  2460.     //
  2461.     virtual HRESULT __stdcall get_ValidFlowDirection (
  2462.         VARIANT_BOOL * pValidFlowDirection ) = 0;
  2463.     virtual HRESULT __stdcall GetFlowDirection (
  2464.         long edgeEID,
  2465.         enum esriFlowDirection * flowDirection ) = 0;
  2466.     virtual HRESULT __stdcall SetFlowDirection (
  2467.         long edgeEID,
  2468.         enum esriFlowDirection flowDirection ) = 0;
  2469.     virtual HRESULT __stdcall EstablishFlowDirection (
  2470.         long sourceCount,
  2471.         long * sourceEIDs,
  2472.         long sinkCount,
  2473.         long * sinkEIDs ) = 0;
  2474. };
  2475. enum esriFlowDirection
  2476. {
  2477.     esriFDIndeterminate = 3,
  2478.     esriFDWithFlow = 1,
  2479.     esriFDAgainstFlow = 2,
  2480.     esriFDUninitialized = 0
  2481. };
  2482. struct __declspec(uuid("051c9860-1880-11d2-b289-0000f878229e"))
  2483. INetworkUpdate : IUnknown
  2484. {
  2485.     //
  2486.     // Raw methods provided by interface
  2487.     //
  2488.     virtual HRESULT __stdcall StartSchemaUpdating ( ) = 0;
  2489.     virtual HRESULT __stdcall StopSchemaUpdating ( ) = 0;
  2490.     virtual HRESULT __stdcall get_IsSchemaBeingUpdated (
  2491.         VARIANT_BOOL * bIsSchemaBeingUpdated ) = 0;
  2492.     virtual HRESULT __stdcall StartTopologyUpdating ( ) = 0;
  2493.     virtual HRESULT __stdcall StopTopologyUpdating ( ) = 0;
  2494.     virtual HRESULT __stdcall get_IsTopologyBeingUpdated (
  2495.         VARIANT_BOOL * bIsTopologyBeingUpdated ) = 0;
  2496.     virtual HRESULT __stdcall StartAttributesUpdating ( ) = 0;
  2497.     virtual HRESULT __stdcall StopAttributesUpdating ( ) = 0;
  2498.     virtual HRESULT __stdcall get_IsAttributesBeingUpdated (
  2499.         VARIANT_BOOL * bIsAttributesBeingUpdated ) = 0;
  2500. };
  2501. struct __declspec(uuid("5db91db3-afb4-11d0-9ccd-00805f74d243"))
  2502. INetElements : IUnknown
  2503. {
  2504.     //
  2505.     // Raw methods provided by interface
  2506.     //
  2507.     virtual HRESULT __stdcall IsValidElement (
  2508.         long EID,
  2509.         enum esriElementType ElementType,
  2510.         VARIANT_BOOL * validState ) = 0;
  2511.     virtual HRESULT __stdcall GetEID (
  2512.         long UserClassID,
  2513.         long UserID,
  2514.         long UserSubID,
  2515.         enum esriElementType ElementType,
  2516.         long * EID ) = 0;
  2517.     virtual HRESULT __stdcall GetEIDCount (
  2518.         long UserClassID,
  2519.         long UserID,
  2520.         enum esriElementType ElementType,
  2521.         long * eIDCount ) = 0;
  2522.     virtual HRESULT __stdcall GetEIDs (
  2523.         long UserClassID,
  2524.         long UserID,
  2525.         enum esriElementType ElementType,
  2526.         struct IEnumNetEID * * EIDs ) = 0;
  2527.     virtual HRESULT __stdcall QueryIDs (
  2528.         long EID,
  2529.         enum esriElementType ElementType,
  2530.         long * UserClassID,
  2531.         long * UserID,
  2532.         long * UserSubID ) = 0;
  2533. };
  2534. struct __declspec(uuid("5db91dbb-afb4-11d0-9ccd-00805f74d243"))
  2535. INetSchema : IUnknown
  2536. {
  2537.     //
  2538.     // Raw methods provided by interface
  2539.     //
  2540.     virtual HRESULT __stdcall get_ElementClassCount (
  2541.         long * ElementClassCount ) = 0;
  2542.     virtual HRESULT __stdcall get_ElementClass (
  2543.         long Index,
  2544.         struct INetElementClass * * NetElementClass ) = 0;
  2545.     virtual HRESULT __stdcall get_ElementClassByUserID (
  2546.         long elementClassUserID,
  2547.         struct INetElementClass * * NetElementClass ) = 0;
  2548.     virtual HRESULT __stdcall get_WeightCount (
  2549.         long * WeightCount ) = 0;
  2550.     virtual HRESULT __stdcall get_Weight (
  2551.         long weightInternalID,
  2552.         struct INetWeight * * networkWeight ) = 0;
  2553.     virtual HRESULT __stdcall get_WeightByName (
  2554.         BSTR WeightName,
  2555.         struct INetWeight * * networkWeight ) = 0;
  2556.     virtual HRESULT __stdcall get_WeightAssociations (
  2557.         long weightInternalID,
  2558.         struct IEnumNetWeightAssociation * * netWeightAssociations ) = 0;
  2559.     virtual HRESULT __stdcall get_WeightAssociationsByTableName (
  2560.         BSTR TableName,
  2561.         struct IEnumNetWeightAssociation * * netWeightAssociations ) = 0;
  2562.     virtual HRESULT __stdcall GetAncillaryRole (
  2563.         long UserClassID,
  2564.         enum esriNetworkClassAncillaryRole * ancillaryRole,
  2565.         BSTR * AncillaryRoleFieldName ) = 0;
  2566.     virtual HRESULT __stdcall GetEnabledDisabledFieldName (
  2567.         long UserClassID,
  2568.         BSTR * enabledDisabledFieldName ) = 0;
  2569. };
  2570. struct __declspec(uuid("23a799e2-ccbc-11d0-9ccf-00805f74d243"))
  2571. INetElementClass : IUnknown
  2572. {
  2573.     //
  2574.     // Raw methods provided by interface
  2575.     //
  2576.     virtual HRESULT __stdcall get_UserClassID (
  2577.         long * UserClassID ) = 0;
  2578. };
  2579. struct __declspec(uuid("13d15d41-1119-11d2-b284-0000f878229e"))
  2580. IEnumNetWeightAssociation : IUnknown
  2581. {
  2582.     //
  2583.     // Raw methods provided by interface
  2584.     //
  2585.     virtual HRESULT __stdcall get_Count (
  2586.         long * Count ) = 0;
  2587.     virtual HRESULT __stdcall Reset ( ) = 0;
  2588.     virtual HRESULT __stdcall Next (
  2589.         struct INetWeightAssociation * * NetWeightAssociation ) = 0;
  2590. };
  2591. struct __declspec(uuid("19bdc490-6201-11d1-b255-0000f878229e"))
  2592. INetWeightAssociation : IUnknown
  2593. {
  2594.     //
  2595.     // Raw methods provided by interface
  2596.     //
  2597.     virtual HRESULT __stdcall get_TableName (
  2598.         BSTR * TableName ) = 0;
  2599.     virtual HRESULT __stdcall get_FieldName (
  2600.         BSTR * FieldName ) = 0;
  2601.     virtual HRESULT __stdcall get_WeightID (
  2602.         long * WeightID ) = 0;
  2603. };
  2604. enum esriNetworkClassAncillaryRole
  2605. {
  2606.     esriNCARNone = 0,
  2607.     esriNCARSourceSink = 1
  2608. };
  2609. struct __declspec(uuid("803b5ff1-0ab3-11d1-9cd6-00805f74d243"))
  2610. INetTopology : IUnknown
  2611. {
  2612.     //
  2613.     // Raw methods provided by interface
  2614.     //
  2615.     virtual HRESULT __stdcall GetFromToJunctionEIDs (
  2616.         long edgeEID,
  2617.         long * FromJunctionEID,
  2618.         long * ToJunctionEID ) = 0;
  2619.     virtual HRESULT __stdcall GetAdjacentEdgeCount (
  2620.         long atJunctionEID,
  2621.         long * adjacentEdgesCount ) = 0;
  2622.     virtual HRESULT __stdcall GetAdjacentEdge (
  2623.         long atJunctionEID,
  2624.         long Index,
  2625.         long * adjacentEdge,
  2626.         VARIANT_BOOL * reverseOrientation ) = 0;
  2627.     virtual HRESULT __stdcall GetAdjacentEdges (
  2628.         long atJunctionEID,
  2629.         long adjacentEdgesCount,
  2630.         long * adjacentEdges,
  2631.         VARIANT_BOOL * reverseOrientation ) = 0;
  2632. };
  2633. struct __declspec(uuid("027e7417-981b-11d1-b264-0000f878229e"))
  2634. INetAttributes : IUnknown
  2635. {
  2636.     //
  2637.     // Raw methods provided by interface
  2638.     //
  2639.     virtual HRESULT __stdcall GetDisabledState (
  2640.         long EID,
  2641.         enum esriElementType ElementType,
  2642.         VARIANT_BOOL * disabledState ) = 0;
  2643.     virtual HRESULT __stdcall GetWeightValue (
  2644.         long EID,
  2645.         enum esriElementType ElementType,
  2646.         long weightInternalID,
  2647.         VARIANT * weightValue ) = 0;
  2648. };
  2649. struct __declspec(uuid("3ebbe030-557d-11d1-b254-0000f878229e"))
  2650. INetWeightEdit : INetWeight
  2651. {
  2652.     //
  2653.     // Raw methods provided by interface
  2654.     //
  2655.     virtual HRESULT __stdcall put_WeightName (
  2656.         BSTR _arg1 ) = 0;
  2657.     virtual HRESULT __stdcall put_WeightType (
  2658.         enum esriWeightType _arg1 ) = 0;
  2659.     virtual HRESULT __stdcall put_BitGateSize (
  2660.         long _arg1 ) = 0;
  2661. };
  2662. struct __declspec(uuid("b1eb90e0-0cfa-11d1-9cd7-00805f74d243"))
  2663. INetElementDescription : IUnknown
  2664. {
  2665.     //
  2666.     // Raw methods provided by interface
  2667.     //
  2668.     virtual HRESULT __stdcall get_UserClassID (
  2669.         long * elementClassUserID ) = 0;
  2670.     virtual HRESULT __stdcall get_UserID (
  2671.         long * UserID ) = 0;
  2672.     virtual HRESULT __stdcall get_UserSubID (
  2673.         long * UserSubID ) = 0;
  2674.     virtual HRESULT __stdcall get_ElementType (
  2675.         enum esriElementType * ElementType ) = 0;
  2676. };
  2677. struct __declspec(uuid("027e7416-981b-11d1-b264-0000f878229e"))
  2678. INetElementDescriptionEdit : INetElementDescription
  2679. {
  2680.     //
  2681.     // Raw methods provided by interface
  2682.     //
  2683.     virtual HRESULT __stdcall put_UserClassID (
  2684.         long _arg1 ) = 0;
  2685.     virtual HRESULT __stdcall put_UserID (
  2686.         long _arg1 ) = 0;
  2687.     virtual HRESULT __stdcall put_UserSubID (
  2688.         long _arg1 ) = 0;
  2689.     virtual HRESULT __stdcall put_ElementType (
  2690.         enum esriElementType _arg1 ) = 0;
  2691. };
  2692. struct __declspec(uuid("13d15d40-1119-11d2-b284-0000f878229e"))
  2693. INetWeightAssociationEdit : INetWeightAssociation
  2694. {
  2695.     //
  2696.     // Raw methods provided by interface
  2697.     //
  2698.     virtual HRESULT __stdcall put_TableName (
  2699.         BSTR _arg1 ) = 0;
  2700.     virtual HRESULT __stdcall put_FieldName (
  2701.         BSTR _arg1 ) = 0;
  2702.     virtual HRESULT __stdcall put_WeightID (
  2703.         long _arg1 ) = 0;
  2704. };
  2705. struct __declspec(uuid("5db91db1-afb4-11d0-9ccd-00805f74d243"))
  2706. INetSchemaEdit : INetSchema
  2707. {
  2708.     //
  2709.     // Raw methods provided by interface
  2710.     //
  2711.     virtual HRESULT __stdcall AddElementClass (
  2712.         long UserClassID,
  2713.         struct INetElementClass * * ElementClass ) = 0;
  2714.     virtual HRESULT __stdcall AddWeight (
  2715.         struct INetWeight * networkWeight ) = 0;
  2716.     virtual HRESULT __stdcall AddWeightAssociation (
  2717.         struct INetWeightAssociation * weightSource ) = 0;
  2718.     virtual HRESULT __stdcall PutAncillaryRole (
  2719.         long UserClassID,
  2720.         enum esriNetworkClassAncillaryRole ancillaryRole,
  2721.         BSTR AncillaryRoleFieldName ) = 0;
  2722.     virtual HRESULT __stdcall PutEnabledDisabledFieldName (
  2723.         long UserClassID,
  2724.         BSTR enabledDisabledRoleFieldName ) = 0;
  2725. };
  2726. struct __declspec(uuid("2395087d-02d5-11d1-9cd5-00805f74d243"))
  2727. INetTopologyEdit : INetTopology
  2728. {
  2729.     //
  2730.     // Raw methods provided by interface
  2731.     //
  2732.     virtual HRESULT __stdcall AddJunction (
  2733.         struct INetElementDescription * junctionDescription,
  2734.         long * junctionEID ) = 0;
  2735.     virtual HRESULT __stdcall AddEdgeByEndEIDs (
  2736.         struct INetElementDescription * edgeDescription,
  2737.         long FromJunctionEID,
  2738.         long ToJunctionEID,
  2739.         long * edgeEID ) = 0;
  2740.     virtual HRESULT __stdcall DeleteByID (
  2741.         long UserClassID,
  2742.         long UserID,
  2743.         long UserSubID,
  2744.         enum esriElementType ElementType ) = 0;
  2745.     virtual HRESULT __stdcall DeleteByEID (
  2746.         long EID,
  2747.         enum esriElementType ElementType ) = 0;
  2748.     virtual HRESULT __stdcall DeleteByEIDs (
  2749.         enum esriElementType ElementType,
  2750.         long elementCount,
  2751.         long * elementEIDs ) = 0;
  2752. };
  2753. struct __declspec(uuid("da7fd2c0-0794-11d1-9cd6-00805f74d243"))
  2754. INetAttributesEdit : INetAttributes
  2755. {
  2756.     //
  2757.     // Raw methods provided by interface
  2758.     //
  2759.     virtual HRESULT __stdcall SetDisabledState (
  2760.         long EID,
  2761.         enum esriElementType ElementType,
  2762.         VARIANT_BOOL disableState ) = 0;
  2763.     virtual HRESULT __stdcall SetWeightValue (
  2764.         long EID,
  2765.         enum esriElementType ElementType,
  2766.         long weightInternalID,
  2767.         VARIANT weightValue ) = 0;
  2768. };
  2769. struct __declspec(uuid("33978fff-118d-11d4-a0e7-00c04f6bdf0e"))
  2770. INetworkWorkspace2 : INetworkWorkspace
  2771. {
  2772.     //
  2773.     // Raw methods provided by interface
  2774.     //
  2775.     virtual HRESULT __stdcall get_FormatNumberCount (
  2776.         long * pCount ) = 0;
  2777.     virtual HRESULT __stdcall get_FormatNumber (
  2778.         long Index,
  2779.         long * pFormatNum ) = 0;
  2780.     virtual HRESULT __stdcall GetMaxStorableClassID (
  2781.         long formatNum,
  2782.         long * pMaxClassID ) = 0;