$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
From: Olenhouse, Jason (jason.olenhouse_at_[hidden])
Date: 2005-03-11 12:20:06
Ben Hutchings wrote:
> Olenhouse, Jason wrote:
> > I'm trying to pass a member function pointer around to the Windows 
> > Service Control Manager through Windpws API functions, but 
> > I think I'm having troubles with the __stdcall convention.
> <snip>
> 
> No, the problem is passing a member function pointer.  A 
> member function 
> pointer is not type-compatible with a function pointer with the same 
> parameter types, regardless of whether they have the same calling 
> convention.
<snip>
But I used boost::bind to get a function pointer to hide the implicit this.  I thought that the
purpose of boost::bind was for that reason.  It seems that the way I did it was nearly successful
other than function::target<>() returns a __cdecl function pointer instead of an __stdcall one, as
indicated by the error that MSVC returns.  
Is my interpretation of what I'm seeing incorrect?
BTW, I included the two defines, 
   #define BOOST_BIND_ENABLE_STDCALL
   #define BOOST_MEM_FN_ENABLE_STDCALL
to be able to bind __stdcall member function with the this object pointer (I forgot to mention this in
the original post).  
-Jason