EldoS | Feel safer!

Software components for data protection, secure storage and transfer

MCMMFTransport x64

Also by EldoS: CallbackProcess
A component to control process creation and termination in Windows and .NET applications.
#7459
Posted: 08/28/2008 11:57:01
by Tim Sullivan (Standard support level)
Joined: 06/25/2008
Posts: 26

Hi,
I'm not sure if MsgConnect is supported for C++ x64 environment, but I thought I'd bring this up.
I've compiled the MC_VC.lib for x64 machines, and the initial tests with HTTPTransport seemed to function properly.
However, when I switched to MCMMFTransport, the transport throws an exception on transport->setActive(true). The same code works when compiled for x86.
Is this to be expected for MMFTransport on x64 environments?
Thanks.
#7460
Posted: 08/28/2008 12:26:03
by Eugene Mayevski (EldoS Corp.)

MsgConnect was not updated for 64-bit environments, so I can't say. There should be only very minor changes for MMF transport to work, but this needs to be done.


Sincerely yours
Eugene Mayevski
#7483
Posted: 08/30/2008 21:45:51
by Tim Sullivan (Standard support level)
Joined: 06/25/2008
Posts: 26

Hi,
Thanks for the update.
I did some digging, and I found the line that is causing the problem in the MCMMFTransport.
Line 975 of MCMMF.cpp:
FMapping = CreateFileMapping((void*)0xfffffffful, pSA, PAGE_READWRITE, 0, MMF_FRAME_SIZE, p);

This fails with a SystemError of 6 (Invalid handle).
Would it be possible to replace the [in] parameter with INVALID_HANDLE_VALUE?
I don't fully understand the functionality of passing (void*)0xfffffffful, but I suspect that this is the "invalid handle".
Any thoughts?
Thanks.
#7484
Posted: 08/31/2008 02:25:46
by Eugene Mayevski (EldoS Corp.)

Yes, this was one of the things I fixed in the file I posted for you in HelpDesk. There's one more place where void* is converted to long for pointer arithmetics.


Sincerely yours
Eugene Mayevski

Reply

Statistics

Topic viewed 3173 times

Number of guests: 1, registered members: 0, in total hidden: 0




|

Back to top

As of July 15, 2016 EldoS Corporation will operate as a division of /n software inc. For more information, please read the announcement.

Got it!