Device Driver inf guidelines for Windows xp june 30, 2006 archive


INF Platform Extension for 64-bit Versions of Windows XP



Download 107.39 Kb.
Page3/5
Date31.07.2017
Size107.39 Kb.
#25735
1   2   3   4   5

INF Platform Extension for 64-bit Versions of Windows XP


Windows XP includes versions that run on Intel Itanium-based servers and workstations. To support the installation of device drivers on both 32-bit and 64-bit systems, the SetupAPI component and the INF file definition in Windows XP have been modified to handle a new platform extension in INF files.

This article describes the INF file changes that are required to support the installation of device drivers on Itanium-based systems.

This article was previously published at this URL: http://www.microsoft.com/whdc/driver/install/64INFDecoration.mspx

Introduction to INF Platform Extensions


To support installation of device drivers on both 32-bit and 64-bit systems, modifications have been made in the Windows XP operating system. Specifically, the SetupAPI component and the INF file definition have been modified to handle a new platform extension in INF files.

These modifications allow for the installation of 64-bit and 32-bit drivers from the same INF file; they also prevent users from installing the wrong driver on the wrong platform.

For developers who are creating drivers and installation routines to support the installation of drivers on Itanium-based systems, only minimal changes are required to the INF file definition, as described in this article.

Using the .ntia64 Platform Extension


On Itanium-based platforms, Windows XP will install only 64-bit kernel-mode drivers; 32-bit kernel-mode drivers are not allowed. Also, only 64-bit class installers and co installers can be used; 32-bit class installers and co installers will not run.

To support this, SetupAPI has been updated to recognize [SourceDisksNames] and [SourceDisksFiles] sections in INF files that include the new .ia64 decoration. The [SourceDisksNames] and [SourceDisksFiles] sections decorated with .ia64 are used for installing the driver packages on Itanium-based platforms only.

All other standard INF sections and directives that can take a platform extension can be decorated with the .ntia64 platform extension. The functionality of this new platform extension is equivalent to the functionality of the .ntx86 and .nt platform extensions supported in Windows 2000.

The platform-extension search order that SetupAPI follows for Itanium-based systems is as follows:



  1. Check for install sections with the .ntia64 platform extension. If one is present, SetupAPI uses it for installation. SetupAPI checks for platform-specific install sections in the INF being processed and in any included INF files (that is, in any INFs included with Include entries).

  2. If no .ntia64 platform extensions are present, check for an install-section-name.nt section in the INF or any included INFs. If one is present, SetupAPI processes the install-section-name.nt section.

  3. If no .nt platform extensions are present, SetupAPI uses the undecorated sections.

If an INF that supports driver installation for more than one operating system contains decorated install-section-name.ntia64 sections, it must also have additional parallel decorated and undecorated per-device sections. That is, if the INF has both install-section-name and install-section-name.ntia64 sections and it has a DDInstall.HW section, it also must have a parallel install-section-name.ntia64.HW section if the device or driver requires an .HW section for the 64-bit version of Windows XP.


Backward Compatibility


Previous versions of Windows will treat the new platform extension as unknown and will ignore any INF file entries and sections that contain .ntia64. Therefore, a Windows XP INF file that contains .ntia64 entries can be used to install a driver on a 32-bit platform. An unaltered Windows 2000 INF can be used to install 32-bit drivers on x86-based systems running Windows XP.

When installing drivers on an Itanium-based system, SetupAPI will not install drivers from INFs that have only .ntx86 install sections. SetupAPI will also halt the driver installation if it discovers that it is installing an x86 driver on an Itanium-based system, or vice-versa. However, the developer should not rely on this behavior; instead, implement the correct decorations in the INF to ensure proper installation behavior.

Note also the 64-bit version of UpdateDriverForPlugAndPlayDevices and the 64-bit version of SetupAPI must be used. The 32-bit version of these APIs cannot be used with the 64-bit version of Windows XP.

Note: To prevent any Windows XP-specific information from being mistakenly used under Windows Millennium Edition or Windows 98/95, the developer should decorate any Windows NT 4.0-, Windows 2000-, Windows XP-specific DDInstall and related sections with the appropriate .ntx86, .ntia64, or .nt extensions.

The ChkINF tool has been updated to recognize and validate the proper usage of the .ntia64 platform extension in INF files.


Resources for INF Files for 64-bit Windows XP


  • All aspects of driver support for Itanium-based systems are documented in the Windows DDK, together with sample INF files.

  • Use the ChkINF tool available in the Windows DDK to validate proper use of the .ntia64 platform extension in INF files. ChkINF is located in the <DDKRoot>\Tools\Chkinf subdirectory and should be run from the command prompt. A batch file, ChkINF.bat, is provided for smooth execution.

  • Ensure that drivers and installation routines developed for Itanium-based systems include 64-bit kernel-mode drivers, and 64-bit class installers and co installers as described in this paper and in the Windows DDK.

  • Use the .ntia64 platform extension and the new .ia64 decoration so SetupAPI recognizes your INF entries.

  • More information about the ChkINF tool is available in ChkINF Enhancements for Windows XP.


Download 107.39 Kb.

Share with your friends:
1   2   3   4   5




The database is protected by copyright ©ininet.org 2024
send message

    Main page