C# (CSharp) Microsoft.Isam.Esent.Interop Namespace

Nested Namespaces

Microsoft.Isam.Esent.Interop.Implementation
Microsoft.Isam.Esent.Interop.Server2003
Microsoft.Isam.Esent.Interop.Vista
Microsoft.Isam.Esent.Interop.Win32
Microsoft.Isam.Esent.Interop.Windows7

Classes

Name Description
Api Managed versions of the ESENT Api. This class contains static methods corresponding with the unmanaged ESENT Api. These methods throw exceptions when errors are returned.
CallbackWrappers

A collection of wrapped callbacks. This is used when the wrapped callback can be garbage collected. The wrappers should be removed from the collection when the callback is collected.

Removing the wrappers can lead to crashes. In this case we trust the client code to keep its callback alive until ESENT doesn't need it any more. Once the wrapped callback is garbage collected we allow the wrapper to be collected as well. If ESENT subsequently uses the callback there will be a crash.

The reason this is hard to deal with is that the lifetime of a JET_CALLBACK isn't very clear. Table callbacks can stick around until the table meta-data is purged, while a JetDefragment callback can be used until defrag ends. On the other hand, keeping the callback wrapper alive indefinitely could lead to unbounded memory use.

ColumnInfo Information about one Esent column. This is not an interop class, but is used by the meta-data helper methods.
ColumnValue Base class for objects that represent a column value to be set.
EsentErrorException
EsentInvalidColumnException
EsentStopwatch Provides a set of methods and properties that you can use to measure ESENT work statistics for a thread. If the current version of ESENT doesn't support VistaApi.JetGetThreadStats then all ESENT statistics will be 0.
IndexSegment Describes one segment of an index.
InstanceParameters This class provides static properties to set and get per-instance ESENT system parameters.
JET_COLUMNDEF
JET_COLUMNLIST
JET_CONDITIONALCOLUMN
JET_ENUMCOLUMN
JET_ENUMCOLUMNID
JET_ENUMCOLUMNVALUE
JET_INDEXLIST
JET_INDEXRANGE
JET_INSTANCE_INFO
JET_OBJECTINFO
JET_OBJECTLIST
JET_RECORDLIST
JET_RECPOS
JET_RETINFO
JET_RETRIEVECOLUMN
JET_SETCOLUMN
JET_SETINFO
JET_UNICODEINDEX
JetCallbackWrapper Wraps a NATIVE_CALLBACK callback around a JET_CALLBACK. This is used to catch exceptions and provide argument conversion.
MemoryCache Cache allocated chunks of memory that are needed for very short periods of time. The memory is not zeroed on allocation.
NATIVE_COLUMNDEF
NATIVE_COLUMNLIST
NATIVE_CONDITIONALCOLUMN
NATIVE_ENUMCOLUMN
NATIVE_ENUMCOLUMNID
NATIVE_ENUMCOLUMNVALUE
NATIVE_INDEXLIST
NATIVE_INDEXRANGE
NATIVE_INSTANCE_INFO
NATIVE_OBJECTINFO
NATIVE_OBJECTLIST
NATIVE_RECORDLIST
NATIVE_RECPOS
NATIVE_RETINFO
NATIVE_RETRIEVECOLUMN
NATIVE_SETCOLUMN
NATIVE_SETINFO
NATIVE_UNICODEINDEX
Session A class that encapsulates a JET_SESID in a disposable object.
StatusCallbackWrapper Wraps a NATIVE_PFNSTATUS callback around a JET_PFNSTATUS. This is used to convert the snprog argument to a managed snprog.
StringColumnValue A Unicode string column value.
SystemParameters Constants for the ESENT API. These don't have to be looked up via system parameters.
Table A class that encapsulates a JET_TABLEID in a disposable object. This opens an existing table. To create a table use the JetCreateTable method.
Transaction A class that encapsulates a transaction on a JET_SESID.
Update A class that encapsulates an update on a JET_TABLEID.