Are you sure the calling convention was superfluous here? __stdcall means our function will clean up its stack pointer after itself like Win32/COM does (http://msdn.microsoft.com/en-us/library/zxk0tw93.aspx). For functions that replace COM functions in unknowing target applications that sounds important. http://msdn.microsoft.com/en-us/library/zkwh89ks(v=vs.100).aspx states that the default is __cdecl which means the caller has to clear the stack.