I have an IFilter written in Delphi that I'm trying to get working under 64 bit Windows 7 Desktop Search.
Due to it being developed in Delphi I can only compile this as a 32 Bit DLL.
To work around this I am trying to write a 64bit IFilter Dll in Visual C++ which internally uses my 32Bit IFilter Com Object using the DllSurogate technique outlined here.
I have got all this working OK under a test 64 bit console application. I can create an instance of my 64 bit wrapper, which internally creates the 32 bit IFilter object and delegates all calls to it. I can then retrieve the contents of my document.
The problem is when I register is with WDS the 64 bit wrapper can no longer create the 32 bit object. CoCreateInstance returns 'Server Execution Failed' (CO_E_SERVER_EXEC_FAILURE).
This is who I am creating the 32 bit object in side the 64 bit wrapper
result = CoCreateInstance(clsid, 0, CLSCTX_LOCAL_SERVER , IID_IFilter, (LPVOID*)&m_pFilter);
Any idea why this is happening. Is it a permissions limitation with IFilters in WDS?
Thanks for any help on this.