FIX: MIDL 2.0 Does Not Handle VAX Floating Point Numbers (129064)



The information in this article applies to:

  • Microsoft Win32 Software Development Kit (SDK) 3.5

This article was previously published under Q129064

SYMPTOMS

RPC applications (client and server) built using MIDL 2.0 (shipped with Windows NT version 3.5) may get spurious characters or report memory violations when dealing with VAX floating point numbers.

RESOLUTION

There are two possible resolutions to this problem:
  • Use MIDL 1.0 (shipped with Windows NT version 3.1) to build RPC client and server applications.

    -or-
  • On the VAX side, use a compiler switch to make sure the application represents its floating point numbers in IEEE format.

STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. This problem was corrected in Windows NT version 3.51.

MORE INFORMATION

Note that Microsoft RPC is binary compatible with DCE RPC. There are four types of representations for floating point numbers: IEEE, VAX, IBM, and CRAY. An application built using MIDL 1.0 can recognize IEEE and VAX representations but not IBM and CRAY. Applications built using MIDL 2.0 can recognize only IEEE representaion as mentioned above. Both, MIDL 1.0 and 2.0, use IEEE representations to send data.

Modification Type:MinorLast Reviewed:3/7/2005
Keywords:kbAPI kbBug kbfix kbnetwork kbOSWinNT351fix kbRPC KB129064