From 1:00 AM - 6:00 AM CST on Saturday, January 23, ni.com will be undergoing system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Microsoft Hotfix 2588507 as a System Requirement for National Instruments Software

Overview

The system requirements for the National Instruments software I am installing includes Microsoft Hotfix 2588507 as a system requirement.

Microsoft Hotfix 2588507 addresses an issue that can cause unexpected behavior in 32-bit applications with the /LARGEADDRESSAWARE option enabled when run in a 64-bit version of Windows.  The Hotfix addresses the following specific issue:

This issue occurs because of a problem with address-conversion routines. The 32-bit application passes a user-mode memory buffer that is allocated beyond the standard 2-gigabyte (GB) memory address space by using a network-related API such as GetHostByAddress() or GetHostByName(). The address is then converted from a 32-bit address to a 64-bit address in kernel routines. The address-conversion routines incorrectly sign-extend the particular address to convert it into a 64-bit address. This 64-bit address is outside the scope of the user-mode address pool. Therefore, the kernel denies read or write access to the address and returns an error to the application.

Note: Because this issue is specific to memory addresses beyond the standard 2-gigabyte (GB) memory address space, unexpected behavior will occur more frequently if you have top-down addressing enabled.  You can check whether this setting is enabled in the Windows Registry.  The setting is enabled if the below key and value are set:

Location: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
Key Name: AllocationPreference
Key Value: 0x100000


Related Links:
External Link: Microsoft Hotfix 2588507