I'm new to Esri's Arc* interfaces, and trying to figure out how to register an existing table using the ArcObjects API. The following question answers this to some extent: http://gis.stackexchange.com/questions/10688/is-there-any-way-to-write-a-snipet-of-code-with-function-of-sdelayer-o-registe > Maybe the IClassSchemaEdit.RegisterAsObjectClass method will help (see the GeoDatabase OMD). You should be able to QI it from an ITable, opened in the usual fashion (e.g. IFeatureWorkspace.OpenTable(in Name: String) since you've already built your GDB). But there is some terminology used that I don't understand. Specifically, what does it mean to QI something, and how is it done? This question's answer defines QI, somewhat vaguely, as Query Interface(hopping) but goes no further. http://gis.stackexchange.com/questions/15663/how-do-you-navigate-the-arcobjects-omds#answer-15665 > It really helps if you know UML. In the class that I had in college the professor called it QI (Query Interface) hopping. The Getting To Know ArcObjects book has a nice break down of how to work with the diagrams. I'm using Java - is this a .net thing?