Microsoft KB Archive/129064

{|
 * width="100%"|

FIX: MIDL 2.0 Does Not Handle VAX Floating Point Numbers

 * }

Q129064

-

The information in this article applies to:


 * Microsoft Win32 Software Development Kit (SDK), version 3.5

-

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.

Additional query words:

Keywords : kbnetwork kbAPI kbOSWinNT350bug kbOSWinNT351fix kbRPC kbSDKPlatform kbGrpDSNet

Issue type : kbbug

Technology : kbWin32SDKSearch kbAudDeveloper kbSDKSearch kbWin32sSearch kbWin32SDK350