Kannst du die Shellextension denn nicht als OutOfProcessServer implementieren?
Dank
DCOM-Marshaling sollte das problemlos zwischen x64<>x86 gehen.
In .Net habe ich das schon öfter benutzt. Allerdings keine Shelläxte und hauptsächlich um den Code in .Net schreiben zu können, aber ohne die Runtime in den Prozess zu stopfen.
In Delphi habe ich "damals" nur in-process
COM Server geschrieben.
Aber ich denke du solltest den Code fast 1:1 übernehmen können.