<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>ESENT Managed Interface</title><link>http://managedesent.codeplex.com/project/feeds/rss</link><description>ManagedEsent provides managed access to ESENT, the embeddable database engine native to Windows. ManagedEsent uses the esent.dll that is part of Microsoft Windows so there are no extra unmanaged binaries to download and install.</description><item><title>Closed Issue: Windows7Grbits - Compressed bits? [10214]</title><link>http://managedesent.codeplex.com/workitem/10214</link><description>Seems like Compressed and Uncompressed is the same value&amp;#63;&lt;br /&gt;&amp;#160;&lt;br /&gt;&amp;#160;&lt;br /&gt;        &amp;#47;&amp;#47;&amp;#47; &amp;#60;summary&amp;#62;&lt;br /&gt;        &amp;#47;&amp;#47;&amp;#47; Try to compress the data when storing it.&lt;br /&gt;        &amp;#47;&amp;#47;&amp;#47; &amp;#60;&amp;#47;summary&amp;#62;&lt;br /&gt;        public const SetColumnGrbit Compressed   &amp;#61; &amp;#40;SetColumnGrbit&amp;#41;0x20000&amp;#59;&lt;br /&gt;&amp;#160;&lt;br /&gt;        &amp;#47;&amp;#47;&amp;#47; &amp;#60;summary&amp;#62;&lt;br /&gt;        &amp;#47;&amp;#47;&amp;#47; Don&amp;#39;t compress the data when storing it.&lt;br /&gt;        &amp;#47;&amp;#47;&amp;#47; &amp;#60;&amp;#47;summary&amp;#62;&lt;br /&gt;        public const SetColumnGrbit Uncompressed &amp;#61; &amp;#40;SetColumnGrbit&amp;#41;0x20000&amp;#59;&lt;br /&gt;</description><author>martinc</author><pubDate>Thu, 16 May 2013 10:56:24 GMT</pubDate><guid isPermaLink="false">Closed Issue: Windows7Grbits - Compressed bits? [10214] 20130516105624A</guid></item><item><title>Closed Issue: Windows7Grbits - Compressed bits? [10215]</title><link>http://managedesent.codeplex.com/workitem/10215</link><description>Seems like Compressed and Uncompressed is the same value&amp;#63;&lt;br /&gt;&amp;#160;&lt;br /&gt;&amp;#160;&lt;br /&gt;        &amp;#47;&amp;#47;&amp;#47; &amp;#60;summary&amp;#62;&lt;br /&gt;        &amp;#47;&amp;#47;&amp;#47; Try to compress the data when storing it.&lt;br /&gt;        &amp;#47;&amp;#47;&amp;#47; &amp;#60;&amp;#47;summary&amp;#62;&lt;br /&gt;        public const SetColumnGrbit Compressed   &amp;#61; &amp;#40;SetColumnGrbit&amp;#41;0x20000&amp;#59;&lt;br /&gt;&amp;#160;&lt;br /&gt;        &amp;#47;&amp;#47;&amp;#47; &amp;#60;summary&amp;#62;&lt;br /&gt;        &amp;#47;&amp;#47;&amp;#47; Don&amp;#39;t compress the data when storing it.&lt;br /&gt;        &amp;#47;&amp;#47;&amp;#47; &amp;#60;&amp;#47;summary&amp;#62;&lt;br /&gt;        public const SetColumnGrbit Uncompressed &amp;#61; &amp;#40;SetColumnGrbit&amp;#41;0x20000&amp;#59;&lt;br /&gt;</description><author>martinc</author><pubDate>Thu, 16 May 2013 10:56:23 GMT</pubDate><guid isPermaLink="false">Closed Issue: Windows7Grbits - Compressed bits? [10215] 20130516105623A</guid></item><item><title>New Post: Out of table cursors - error</title><link>http://managedesent.codeplex.com/discussions/443163</link><description>&lt;div style="line-height: normal;"&gt;What does this error mean?  Too many JetSessions opened at same time?&lt;br /&gt;
&lt;br /&gt;
Our library creates ONE instance and allows for multiple Sessions.&lt;br /&gt;
&lt;br /&gt;
Error Message = &amp;quot;Out of table cursors&amp;quot;&lt;br /&gt;
at Microsoft.Isam.Esent.Interop.Api.Check(Int32 err) in c:\Users\aclark\Documents\tfs\VisualDesignManager\Trunk\ESE_Managed\EsentInterop\Api.cs:line 2856&lt;br /&gt;
\r\n   at Microsoft.Isam.Esent.Interop.Api.JetGetObjectInfo(JET_SESID sesid, JET_DBID dbid, JET_OBJECTLIST&amp;amp; objectlist) in c:\Users\aclark\Documents\tfs\VisualDesignManager\Trunk\ESE_Managed\EsentInterop\Api.cs:line 1510&lt;br /&gt;
\r\n   at Microsoft.Isam.Esent.Interop.TableNameEnumerator.OpenTable() in c:\Users\aclark\Documents\tfs\VisualDesignManager\Trunk\ESE_Managed\EsentInterop\TableNameEnumerator.cs:line 46&lt;br /&gt;
\r\n   at Microsoft.Isam.Esent.Interop.TableEnumerator`1.MoveNext() in c:\Users\aclark\Documents\tfs\VisualDesignManager\Trunk\ESE_Managed\EsentInterop\TableEnumerator.cs:line 102&lt;br /&gt;
\r\n   at eXpedite.WinRTLib.DBOps.JetSession..ctor(JetInstance dbInstance) in c:\Users\aclark\Documents\tfs\VisualDesignManager\Trunk\Common\eXpedite.WinRTLib\DBOps\JetSession.cs:line 70&lt;br /&gt;
\r\n   at eXpedite.ViewModel.TaskViewModel.OpenFormRelation(FormRelationMessage msg) in c:\Users\aclark\Documents\tfs\VisualDesignManager\Trunk\eXpedite.Project\eXpedite.Client\eXpedite\ViewModel\TaskViewModel.cs:line 684&amp;quot;&lt;br /&gt;
&lt;/div&gt;</description><author>bayganik</author><pubDate>Thu, 09 May 2013 20:29:40 GMT</pubDate><guid isPermaLink="false">New Post: Out of table cursors - error 20130509082940P</guid></item><item><title>New Post: Dealing with column default values</title><link>http://managedesent.codeplex.com/discussions/441654</link><description>&lt;div style="line-height: normal;"&gt;Now I'm picturing you in Thames House in a &lt;em&gt;Spooks&lt;/em&gt; episode, or working at Bletchley Park or GCHQ or something, all James Bond-like. :)&lt;br /&gt;
&lt;br /&gt;
You should try the procmon route to figure out which DLL.&lt;br /&gt;
&lt;br /&gt;
By the way I asked around for another person on another issue, and the answers were:&lt;br /&gt;
'IIRC, Microsoft has a specialized team that deals with Law Enforcement Support. '&lt;br /&gt;
'The special team that assists law enforcement with these questions is generally CSS, after law enforcement has gone through the LE portal run by the DCU. '&lt;br /&gt;
&lt;br /&gt;
And the glossary:&lt;br /&gt;
To translate:&lt;br /&gt;
CSS -- product support&lt;br /&gt;
LE -- law enforcement&lt;br /&gt;
DCU -- ???&lt;br /&gt;
&lt;br /&gt;
But MS in UK may have different policies and procedures.&lt;br /&gt;
&lt;br /&gt;
-martin&lt;br /&gt;
&lt;/div&gt;</description><author>martinc</author><pubDate>Thu, 02 May 2013 22:53:34 GMT</pubDate><guid isPermaLink="false">New Post: Dealing with column default values 20130502105334P</guid></item><item><title>New Post: Nuget package targeted 4.0 runtime</title><link>http://managedesent.codeplex.com/discussions/442385</link><description>&lt;div style="line-height: normal;"&gt;Thanks for the report!&lt;br /&gt;
&lt;br /&gt;
I received conflicting comments about whether the newest ManagedEsent bits actually needed 4.5 or not. Some people reported that despite it being compiled against 4.5 that it didn't actually need 4.5 assemblies.&lt;br /&gt;
Apparently those reports are inaccurate after all. 4.5 assemblies ARE needed after all.&lt;br /&gt;
&lt;br /&gt;
-martin&lt;br /&gt;
&lt;/div&gt;</description><author>martinc</author><pubDate>Thu, 02 May 2013 22:40:30 GMT</pubDate><guid isPermaLink="false">New Post: Nuget package targeted 4.0 runtime 20130502104030P</guid></item><item><title>New Post: Nuget package targeted 4.0 runtime</title><link>http://managedesent.codeplex.com/discussions/442385</link><description>&lt;div style="line-height: normal;"&gt;1.8.3.2 seems to require 4.5 runtime. Got following runtime error when installed from NuGet package.&lt;br /&gt;
&lt;br /&gt;
Could not load type 'System.Reflection.IntrospectionExtensions' from assembly 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.&lt;br /&gt;
&lt;/div&gt;</description><author>fcschow</author><pubDate>Thu, 02 May 2013 18:49:36 GMT</pubDate><guid isPermaLink="false">New Post: Nuget package targeted 4.0 runtime 20130502064936P</guid></item><item><title>New Post: Dealing with column default values</title><link>http://managedesent.codeplex.com/discussions/441654</link><description>&lt;div style="line-height: normal;"&gt;Hi martin,&lt;br /&gt;
&lt;br /&gt;
Sorry I should have explained myself a bit better - I actually work for a Forensic Services provider in the UK, so we are actually involved in investigating criminal cases for Law Enforcement etc. Our interest, particularly in the &amp;quot;Windows.edb&amp;quot; database but also other relevant ESE databases, is in being able to examine these databases to produce evidence in a suitable format. I believe that Microsoft do indeed have their own forensic team, but we wouldn't typically engage them ourselves :-)&lt;br /&gt;
&lt;br /&gt;
Cheers,&lt;br /&gt;
&lt;br /&gt;
Phil H&lt;br /&gt;
&lt;/div&gt;</description><author>phil_h</author><pubDate>Tue, 30 Apr 2013 14:49:09 GMT</pubDate><guid isPermaLink="false">New Post: Dealing with column default values 20130430024909P</guid></item><item><title>New Post: Dealing with column default values</title><link>http://managedesent.codeplex.com/discussions/441654</link><description>&lt;div style="line-height: normal;"&gt;You mentioned forensics. If you have an actual criminal case, then you really should contact Microsoft Support. They offer forensic services for Law Enforcement purposes.&lt;br /&gt;
&lt;br /&gt;
To be honest I have no idea how much they charge. It might be a few hundred dollars, which in a criminal case, you'll hopefully have budget for. There is also a chance that there is no charge.&lt;br /&gt;
&lt;br /&gt;
-martin&lt;br /&gt;
&lt;/div&gt;</description><author>martinc</author><pubDate>Tue, 30 Apr 2013 11:06:29 GMT</pubDate><guid isPermaLink="false">New Post: Dealing with column default values 20130430110629A</guid></item><item><title>New Post: Dealing with column default values</title><link>http://managedesent.codeplex.com/discussions/441654</link><description>&lt;div style="line-height: normal;"&gt;Thanks for all all the comments, I'll take a look at the JET_USERDEFINEDDEFAULT structure and see if I can make any useful sense out of it. I see what you mean about the different security context - it may be better to simply ignore (or flag) these columns, but do nothing with them. In fact I should've thought of martinc's comment re:native code - it makes sense that this would be the case, in which case there is very little likelihood of being able to integrate any such DLL correctly.&lt;br /&gt;
&lt;br /&gt;
With regards to martinc's comment re:the Search Team frowning sincerely on digging through their database etc; I have no issue with them changing the internal format, after all they've done it a number of times already when moving between different versions of the OS :-) As for digging through their database, the reason for my interest is the potential forensic information that may be contained therein (e.g. filenames that have been indexed, etc) - I'm certainly not planning on creating anything that interferes with the Search process, I'm purely interested in being able to identify forensically relevant information that may be contained within the database :-)&lt;br /&gt;
&lt;br /&gt;
Cheers,&lt;br /&gt;
&lt;br /&gt;
Phil H&lt;br /&gt;
&lt;/div&gt;</description><author>phil_h</author><pubDate>Tue, 30 Apr 2013 09:28:31 GMT</pubDate><guid isPermaLink="false">New Post: Dealing with column default values 20130430092831A</guid></item><item><title>New Post: PersistentDictionary and Transactions</title><link>http://managedesent.codeplex.com/discussions/264260</link><description>&lt;div style="line-height: normal;"&gt;Agreed. TransactionScope should really be used and supported by ManagedEsent.&lt;br /&gt;
&lt;/div&gt;</description><author>tronda</author><pubDate>Tue, 30 Apr 2013 08:47:39 GMT</pubDate><guid isPermaLink="false">New Post: PersistentDictionary and Transactions 20130430084739A</guid></item><item><title>New Post: Dealing with column default values</title><link>http://managedesent.codeplex.com/discussions/441654</link><description>&lt;div style="line-height: normal;"&gt;First of all, I'm pretty sure that the Search Team frowns sincerely on digging through their database. And they reserve the right to change the internal format at any time.&lt;br /&gt;
&lt;br /&gt;
You can examine the DLLs loaded by the Search process.&lt;br /&gt;
You can also use procmon.exe to see which mysterious DLLs are attempted to be loaded by your program, specifically at the moment you try the RetrieveColumn call.&lt;br /&gt;
&lt;br /&gt;
If by 'adding a reference to the DLL' you mean that it's a CLR DLL, I'm pretty sure it would be written in native code.&lt;br /&gt;
&lt;br /&gt;
(Hmm, I can't remember if I wrote that bit on MSDN or not... I must be getting old. :)&lt;br /&gt;
&lt;br /&gt;
-martin&lt;br /&gt;
&lt;/div&gt;</description><author>martinc</author><pubDate>Tue, 30 Apr 2013 04:48:26 GMT</pubDate><guid isPermaLink="false">New Post: Dealing with column default values 20130430044826A</guid></item><item><title>New Post: Dealing with column default values</title><link>http://managedesent.codeplex.com/discussions/441654</link><description>&lt;div style="line-height: normal;"&gt;Hi Phil,&lt;br /&gt;
&lt;br /&gt;
The byte[] value is JET_USERDEFINEDDEFAULT structure. &lt;a href="http://msdn.microsoft.com/en-us/library/windows/desktop/gg269200(v=exchg.10).aspx" rel="nofollow"&gt;Please read this article on MSDN.&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
As you can see, it recommends specifying the absolute path to the DLL containing the callback. ESENT loads that DLL itself, adding a reference will do nothing.&lt;br /&gt;
&lt;br /&gt;
You might get that exception because of the different security contexts: remember the windows search service is normally running in the local system security context.&lt;br /&gt;
&lt;br /&gt;
Or, the DLL implementing the callback might interoperate with anything external to provide that value: another component of windows search, another windows service, device driver, LAN/WAN, etc.. In this case, I won't be surprised if you won't be able to use that callback in your application.&lt;br /&gt;
&lt;/div&gt;</description><author>Const_me</author><pubDate>Tue, 30 Apr 2013 04:34:33 GMT</pubDate><guid isPermaLink="false">New Post: Dealing with column default values 20130430043433A</guid></item><item><title>New Post: Dealing with column default values</title><link>http://managedesent.codeplex.com/discussions/441654</link><description>&lt;div style="line-height: normal;"&gt;&lt;strong&gt;martinc wrote:&lt;/strong&gt;&lt;br /&gt;
&lt;blockquote&gt;
Correct, it's a 'User defined value'. It can be thought of as a 'virtual column', and when ESE tries to retrieve the value it instead calls a user-supplied function.&lt;br /&gt;
&lt;br /&gt;
You could grab the DLL and copy it somewhere so that it gets loaded properly, but I'm assuming that this is just experimentation, in which case it may just be easier to use a different database altogether -- one that doesn't use callback functions. :)&lt;br /&gt;
&lt;br /&gt;
-martin&lt;br /&gt;
&lt;/blockquote&gt;
Hi Martin,&lt;br /&gt;
&lt;br /&gt;
Thanks for that information - so that'd explain why I get the &amp;quot;A callback failed&amp;quot; exception, since the callback function isn't there. So what is the byte[] value that the ManagedEsent library has stored in the &amp;quot;ColumnInfo.DefaultValue&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
Although this is just experimentation at the moment, I will be wanting to parse the &amp;quot;Windows.edb&amp;quot; database eventually so I guess I need to hunt down the DLL where I can find this callback function and add a reference to it ...&lt;br /&gt;
&lt;br /&gt;
Phil H&lt;br /&gt;
&lt;/div&gt;</description><author>phil_h</author><pubDate>Mon, 29 Apr 2013 09:55:47 GMT</pubDate><guid isPermaLink="false">New Post: Dealing with column default values 20130429095547A</guid></item><item><title>New Post: JET_errAttachedDatabaseMismatch</title><link>http://managedesent.codeplex.com/discussions/225149</link><description>&lt;div style="line-height: normal;"&gt;Sorry to post it here, but it is related to disconnected or attached mailbox that's why i refereed this. &lt;br /&gt;
&lt;/div&gt;</description><author>admin503</author><pubDate>Mon, 29 Apr 2013 09:13:46 GMT</pubDate><guid isPermaLink="false">New Post: JET_errAttachedDatabaseMismatch 20130429091346A</guid></item><item><title>New Post: JET_errAttachedDatabaseMismatch</title><link>http://managedesent.codeplex.com/discussions/225149</link><description>&lt;div style="line-height: normal;"&gt;admin503, how is your URL related to the topic? It seems to be promoting a separate piece of software...&lt;br /&gt;
&lt;br /&gt;
-martin&lt;br /&gt;
&lt;/div&gt;</description><author>martinc</author><pubDate>Mon, 29 Apr 2013 08:50:03 GMT</pubDate><guid isPermaLink="false">New Post: JET_errAttachedDatabaseMismatch 20130429085003A</guid></item><item><title>New Post: Dealing with column default values</title><link>http://managedesent.codeplex.com/discussions/441654</link><description>&lt;div style="line-height: normal;"&gt;Correct, it's a 'User defined value'. It can be thought of as a 'virtual column', and when ESE tries to retrieve the value it instead calls a user-supplied function.&lt;br /&gt;
&lt;br /&gt;
You could grab the DLL and copy it somewhere so that it gets loaded properly, but I'm assuming that this is just experimentation, in which case it may just be easier to use a different database altogether -- one that doesn't use callback functions. :)&lt;br /&gt;
&lt;br /&gt;
-martin&lt;br /&gt;
&lt;/div&gt;</description><author>martinc</author><pubDate>Mon, 29 Apr 2013 08:44:26 GMT</pubDate><guid isPermaLink="false">New Post: Dealing with column default values 20130429084426A</guid></item><item><title>New Post: Dealing with column default values</title><link>http://managedesent.codeplex.com/discussions/441654</link><description>&lt;div style="line-height: normal;"&gt;Hmm,&lt;br /&gt;
&lt;br /&gt;
On further testing it appears that the &amp;quot;A callback failed&amp;quot; exception is thrown for these columns regardless of which &amp;quot;Api.RetrieveColumnAs...&amp;quot; method is used. Is this because these columns, for whatever reason, don't have a value and the &amp;quot;DefaultValue&amp;quot; needs to be used instead - this still appears to be the only difference between the three failing column retrievals, and the other working column retrievals ?&lt;br /&gt;
&lt;br /&gt;
Phil H&lt;br /&gt;
&lt;/div&gt;</description><author>phil_h</author><pubDate>Mon, 29 Apr 2013 08:16:48 GMT</pubDate><guid isPermaLink="false">New Post: Dealing with column default values 20130429081648A</guid></item><item><title>New Post: JET_errAttachedDatabaseMismatch</title><link>http://managedesent.codeplex.com/discussions/225149</link><description>&lt;div style="line-height: normal;"&gt;&lt;strong&gt;Just check the my post, you will get real solution to overcome here:&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.edb-pst.net/export-disconnected-mailbox-to-pst.html" rel="nofollow"&gt;http://www.edb-pst.net/export-disconnected-mailbox-to-pst.html&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>admin503</author><pubDate>Sat, 27 Apr 2013 17:08:53 GMT</pubDate><guid isPermaLink="false">New Post: JET_errAttachedDatabaseMismatch 20130427050853P</guid></item><item><title>New Post: Dealing with column default values</title><link>http://managedesent.codeplex.com/discussions/441654</link><description>&lt;div style="line-height: normal;"&gt;Hi all,&lt;br /&gt;
&lt;br /&gt;
I'm just starting to develop an application using the ManagedEsent library and have been testing some functionality using a copy of a &amp;quot;Windows.edb&amp;quot; database file. I've encountered a problem when attempting to retrieve three particular columns from one of the available tables - specifically the &amp;quot;A callback failed&amp;quot; exception is thrown when attempting to retrieve the column data.&lt;br /&gt;
&lt;br /&gt;
In all three cases the column data type is &amp;quot;LongText&amp;quot; and the exception is thrown when I attempt to retrieve the column data using the &amp;quot;Api.RetrieveColumnAsString(...)&amp;quot; method. I've stepped through the code and other columns, whose data type is &amp;quot;LongText&amp;quot;, are retrieved correctly so I don't believe that I have a fundamental problem with this data type - the only difference I've noted is that the three columns have a byte[] specified as a &amp;quot;DefaultValue&amp;quot; (as observed by inspecting the &amp;quot;ColumnInfo&amp;quot; object for each column), whereas all the other columns have this &amp;quot;DefaultValue&amp;quot; set to null.&lt;br /&gt;
&lt;br /&gt;
So I guess my question is two-fold - why is this &amp;quot;DefaultValue&amp;quot; causing the failure of the &amp;quot;Api.RetrieveColumnAsString(...)&amp;quot; method, and how can I trap for this and deal with it accordingly ?&lt;br /&gt;
&lt;br /&gt;
Phil H&lt;br /&gt;
&lt;/div&gt;</description><author>phil_h</author><pubDate>Fri, 26 Apr 2013 09:39:56 GMT</pubDate><guid isPermaLink="false">New Post: Dealing with column default values 20130426093956A</guid></item><item><title>New Post: Running ManagedEsent with Linq support on .NET framework 4.0</title><link>http://managedesent.codeplex.com/discussions/440419</link><description>&lt;div style="line-height: normal;"&gt;The tests in the solution do give very good test coverage. If you want to run the complete test suite you will need IronPython installed. The test_persistentdictionary.py script (in the EsentCollectionsTests directory) gives exhaustive, multithreaded coverage.&lt;br /&gt;
&lt;/div&gt;</description><author>laurionb</author><pubDate>Tue, 16 Apr 2013 18:27:17 GMT</pubDate><guid isPermaLink="false">New Post: Running ManagedEsent with Linq support on .NET framework 4.0 20130416062717P</guid></item></channel></rss>